import { Component, ReactNode } from "react"; import { SettingProvider, Setting } from "@Context/Setting"; import { HeaderBar } from "@Component/HeaderBar/HeaderBar"; import { Theme, FontLevel, BackgroundLevel } from "@Component/Theme/Theme"; import { Localization } from "@Component/Localization/Localization"; import { Entry } from "../Entry/Entry"; import { StatusProvider, Status } from "@Context/Status"; import { ClassicRenderer } from "@GLRender/ClassicRenderer"; import "./SimulatorWeb.scss"; class SimulatorWeb extends Component { /** * 全局设置 */ private setting: Setting; /** * 全局状态 */ private status: Status; public constructor(props: any) { super(props); // TODO: 这里要读取设置 this.setting = new Setting(); (window as any).setting = (this.setting as any); // TODO: 这里要读取存档 this.status = new Status(); this.status.renderer = new ClassicRenderer({ className: "canvas" }).onLoad(); this.status.model.bindRenderer(this.status.renderer); // 测试代码 if (true) { let group = this.status.model.addGroup(); let range = this.status.model.addRange(); range.color = [.1, .5, .9]; group.new(100); group.color = [.8, .1, .6]; group.individuals.forEach((individual) => { individual.position[0] = (Math.random() - .5) * 2; individual.position[1] = (Math.random() - .5) * 2; individual.position[2] = (Math.random() - .5) * 2; }) this.status.model.update(0); } (window as any).s = this; } public render(): ReactNode { return {this.renderContent()} } private renderContent(): ReactNode { return } } Entry.renderComponent(SimulatorWeb);