} //Симуляция загрузки с бд protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { dataMap = new DataMap(); InitDefault(); InitBot(); InitBarier(); InitTeleport(); //Загрузка обьекта и его текстуры //var meshData = await SceneLoader.ImportMeshAsync("", "obj/", "mine.babylon", scene); //var mine = meshData.meshes.First(); //mine.position.x = 0m; //mine.position.z = 0m; //mine.position.y = 12m; //mine.scaling.x = 20; //mine.scaling.y = 20; //mine.scaling.z = 20; //mine.material.metallic = 1; var advancedTexture = AdvancedDynamicTexture.CreateFullscreenUI("UI"); //engine.runRenderLoop(() => Task.Run(() => scene.render(true, false))); engine.runRenderLoop(new ActionCallback(async() => scene.render(true, false))); } }
public void CreateScene() { var canvas = Canvas.GetElementById( "game-window" ); var engine = new Engine( canvas, true ); var scene = new Scene( engine ); var light0 = new PointLight( "Omni", new Vector3( 0, 100, 8 ), scene ); var light1 = new HemisphericLight( "HemisphericLight", new Vector3( 0, 100, 8 ), scene ); var advancedTexture = AdvancedDynamicTexture.CreateFullscreenUI("UI"); var button = Button.CreateSimpleButton( "button", "Click Me" ); button.width = "90%"; button.height = "90%"; button.color = "white"; button.background = "green"; button.onPointerClickObservable.add(async(Vector2WithInfo arg1, EventState state) => { var x = arg1.x.ToString(); var fds = arg1.buttonIndex; var vector = new Vector3(2.1m, 3.2m, 4.1m); Console.WriteLine( $"Clicked: {arg1.x}, {arg1.y}" ); var xx = vector.getClassName(); ClickPosition = arg1; await InvokeAsync(StateHasChanged); }); advancedTexture.addControl( button ); var freeCamera = new FreeCamera( "FreeCamera", new Vector3( 0, 0, -100 ), scene ) { rotation = new Vector3( 0, 0, 0 ), }; scene.activeCamera = freeCamera; freeCamera.attachControl( canvas, false ); engine.runRenderLoop(() => Task.Run(() => scene.render(true, false))); _engine = engine; }
public async Task CreateScene() { var canvas = await Canvas.GetElementById( "game-window" ); var engine = await Engine.NewEngine( canvas, true ); var scene = await Scene.NewScene( engine ); var light0 = await PointLight.NewPointLight( "Omni", await Vector3.NewVector3( 0, 100, 8 ), scene ); var light1 = await HemisphericLight.NewHemisphericLight( "HemisphericLight", await Vector3.NewVector3(0, 100, 8), scene ); var advancedTexture = await AdvancedDynamicTexture.CreateFullscreenUI("UI"); var button = await Button.CreateSimpleButton( "button", "Click Me" ); await button.set_width("90%"); await button.set_height("90%"); await button.set_color("white"); await button.set_background("green"); await(await button.get_onPointerClickObservable()).add(async(Vector2WithInfo arg1, EventState state) => { var x = (await arg1.get_x()).ToString(); var fds = await arg1.get_buttonIndex(); var vector = await Vector3.NewVector3(2.1m, 3.2m, 4.1m); //Console.WriteLine( // $"Clicked: {await arg1.get_x()}, {await arg1.get_y()}" //); var xx = await vector.getClassName(); ClickPosition = arg1; ClickPosition_X = await ClickPosition.get_x(); ClickPosition_Y = await ClickPosition.get_y(); await InvokeAsync(StateHasChanged); //Console.WriteLine("Clicked: "); }); await advancedTexture.addControl( button ); var freeCamera = await FreeCamera.NewFreeCamera( "FreeCamera", await Vector3.NewVector3( 0, 0, -100 ), scene ); await freeCamera.set_rotation( await Vector3.NewVector3( 0, 0, 0 ) ); await scene.set_activeCamera(freeCamera); await freeCamera.attachControl(false); await engine.runRenderLoop(new ActionCallback(() => Task.Run(() => scene.render(true, false)))); _engine = engine; await Canvas.RemoveBlur( "game-window" ); }
public void CreateScene() { var canvas = Canvas.GetElementById( "game-window" ); var engine = new Engine( canvas, true ); var scene = new Scene( engine ); scene.clearColor = new Color4(0, 0, 0, 0); var light0 = new PointLight( "Omni", new Vector3( 0, 100, 8 ), scene ); var light1 = new HemisphericLight( "HemisphericLight", new Vector3( 0, 100, 8 ), scene ); var advancedTexture = AdvancedDynamicTexture.CreateFullscreenUI("UI"); var UiPanel = new StackPanel("name") { width = "220px", fontSize = "14px", horizontalAlignment = Control.HORIZONTAL_ALIGNMENT_RIGHT, verticalAlignment = Control.VERTICAL_ALIGNMENT_CENTER }; advancedTexture.addControl(UiPanel); var house = SceneLoader.ImportMesh( null, "assets/", "Player.glb", scene, new Interop.Callbacks.ActionCallback <AbstractMesh[], IParticleSystem[], Skeleton[], AnimationGroup[], TransformNode[], Geometry[], Light[]>((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => { foreach (var animation in arg4) { animation.stop(); _animationMap.Add(animation.name, animation); AddRunAnimationButton( UiPanel, animation.name ); } if (_animationMap.Count > 0) { _runningAnimation = _animationMap.First().Value; _runningAnimation.start(true); } return(Task.CompletedTask); }) ); var camera = new ArcRotateCamera( "ArcRotateCamera", (decimal)(System.Math.PI / 2), (decimal)(System.Math.PI / 4), 3, new Vector3(0, 1, 0), scene ) { lowerRadiusLimit = 2, upperRadiusLimit = 10, wheelDeltaPercentage = 0.01m }; scene.activeCamera = camera; camera.attachControl( false ); engine.runRenderLoop(new ActionCallback( () => Task.Run(() => scene.render(true, false)) )); _engine = engine; }
public async ValueTask CreateScene() { var canvas = await Canvas.GetElementById( "game-window" ); var engine = await Engine.NewEngine( canvas, true ); var scene = await Scene.NewScene( engine ); var light0 = await PointLight.NewPointLight( "Omni", await Vector3.NewVector3( 0, 100, 8 ), scene ); var light1 = await HemisphericLight.NewHemisphericLight( "HemisphericLight", await Vector3.NewVector3( 0, 100, 8 ), scene ); var advancedTexture = await AdvancedDynamicTexture.CreateFullscreenUI("UI"); var UiPanel = await StackPanel.NewStackPanel("name"); await UiPanel.set_width("220px"); await UiPanel.set_fontSize("14px"); await UiPanel.set_horizontalAlignment(await Control.get_HORIZONTAL_ALIGNMENT_RIGHT()); await UiPanel.set_verticalAlignment(await Control.get_VERTICAL_ALIGNMENT_CENTER()); await advancedTexture.addControl(UiPanel); var house = await SceneLoader.ImportMesh( null, "assets/", "Player.glb", scene, new Server.Interop.Callbacks.ActionCallback <AbstractMesh[], IParticleSystem[], Skeleton[], AnimationGroup[]>(async(arg1, arg2, arg3, arg4) => { foreach (var animation in arg4) { await animation.stop(); _animationMap.Add(await animation.get_name(), animation); await AddRunAnimationButton( UiPanel, await animation.get_name() ); } if (_animationMap.Count > 0) { _runningAnimation = _animationMap.First().Value; await _runningAnimation.start(true); } }) ); var camera = await ArcRotateCamera.NewArcRotateCamera( "ArcRotateCamera", (decimal)(System.Math.PI / 2), (decimal)(System.Math.PI / 4), 3, await Vector3.NewVector3(0, 1, 0), scene ); await camera.set_lowerRadiusLimit(2); await camera.set_upperRadiusLimit(10); await camera.set_wheelDeltaPercentage(0.01m); await scene.set_activeCamera(camera); await camera.attachControl( canvas, false ); await engine.runRenderLoop(() => Task.Run(() => scene.render(true, false))); _engine = engine; }