From 63ea38479910dc9e2619c6a4f036d197d5d85547 Mon Sep 17 00:00:00 2001 From: dani herrera Date: Fri, 17 Apr 2020 17:51:12 +0200 Subject: [PATCH] BlazorSize --- src/blagario/AgarElements/Player.cs | 33 ++++++----------------------- src/blagario/Pages/Index.cs | 8 ++++++- src/blagario/Pages/_Host.cshtml | 1 + src/blagario/Program.cs | 1 + src/blagario/Startup.cs | 2 ++ src/blagario/blagario.csproj | 8 +++++++ 6 files changed, 25 insertions(+), 28 deletions(-) diff --git a/src/blagario/AgarElements/Player.cs b/src/blagario/AgarElements/Player.cs index e7cd7c5..7e8e9c0 100644 --- a/src/blagario/AgarElements/Player.cs +++ b/src/blagario/AgarElements/Player.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using System.Timers; +using BlazorPro.BlazorSize; using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; @@ -143,36 +144,14 @@ public bool OnArea(AgarElement e) /* --- */ private System.Timers.Timer aTimer; - [JSInvokable] - public async Task OnBrowserResize() + public async void WindowResized(object _, BrowserWindowSize window) { - if (aTimer == null) - { - await CheckVisibleArea(); - aTimer = new System.Timers.Timer(500); - aTimer.Elapsed += CheckVisibleAreaWrapper; - aTimer.AutoReset = false; - } - else{ - aTimer.Stop(); - aTimer.Start(); - } + this.VisibleAreaX = window.Width; + this.VisibleAreaY = window.Height; + Console.WriteLine($" {window} {window.Width} {window.Height} "); + await Task.CompletedTask; } - private void CheckVisibleAreaWrapper(Object source, ElapsedEventArgs e) - { - Task.Run( async() => await CheckVisibleArea() ); - } - - public async Task CheckVisibleArea(IJSRuntime jsRuntime = null) - { - JsRuntime = jsRuntime ?? JsRuntime; - var visibleArea = await JsRuntime.InvokeAsync("GetSize"); - this.VisibleAreaX = visibleArea[0]; - this.VisibleAreaY = visibleArea[1]; - await JsRuntime.InvokeAsync("AreaResized", DotNetObjectReference.Create(this) ); - } - public async Task SetFocusToUniverse(IJSRuntime jsRuntime = null) { JsRuntime = jsRuntime ?? JsRuntime; diff --git a/src/blagario/Pages/Index.cs b/src/blagario/Pages/Index.cs index 7be5455..0215df8 100644 --- a/src/blagario/Pages/Index.cs +++ b/src/blagario/Pages/Index.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Threading.Tasks; using blagario.elements; +using BlazorPro.BlazorSize; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Web; using Microsoft.JSInterop; @@ -13,6 +14,8 @@ public abstract class BaseIndex : ComponentBase, IDisposable [Inject] protected Universe Universe {get; set; } [Inject] protected Player Player {get; set; } [Inject] protected IJSRuntime JsRuntime {get; set; } + [Inject] ResizeListener listener {get; set; } + BrowserWindowSize browser = new BrowserWindowSize(); public void Dispose() { Universe.World.OnTicReached -= UpdateUi; @@ -71,12 +74,15 @@ protected async override Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { + listener.OnResized += Player.WindowResized; await OnAfterFirstRenderAsync(); } } protected async Task OnAfterFirstRenderAsync() { - await Player.CheckVisibleArea(JsRuntime); + //this.VisibleAreaX = window.Width; + //this.VisibleAreaY = window.Height; + await Player.SetFocusToUniverse(JsRuntime); } diff --git a/src/blagario/Pages/_Host.cshtml b/src/blagario/Pages/_Host.cshtml index 213689a..f20b795 100644 --- a/src/blagario/Pages/_Host.cshtml +++ b/src/blagario/Pages/_Host.cshtml @@ -15,6 +15,7 @@ @(await Html.RenderComponentAsync(RenderMode.Server)) +