Skip to content

Commit

Permalink
Update: Update PearlCalculatorLib.Manually to latest version
Browse files Browse the repository at this point in the history
  • Loading branch information
whats2000 committed Aug 30, 2024
1 parent df8745e commit eda09d0
Show file tree
Hide file tree
Showing 8 changed files with 286 additions and 119 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ await Task.Run(() =>
private void PearlSimulate()
{
var pearlTraceList = Calculation.CalculatePearlTrace((int)RedTNT, (int)BlueTNT, 100, Direction);
EventManager.Instance.PublishEvent(this, "simulate", new PearlSimulateArgs(PublishKey, pearlTraceList));
EventManager.Instance.PublishEvent(this, "simulate", new PearlSimulateArgs(PublishKey, Data.Pearl, pearlTraceList));
}

private async void ImportSettings_OnClick()
Expand Down
103 changes: 54 additions & 49 deletions Components/Manually.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using System.Collections.Generic;
using PearlCalculatorLib.PearlCalculationLib.Entity;
using PearlCalculatorBlazor.Localizer;
using PearlCalculatorLib.PearlCalculationLib.World;

namespace PearlCalculatorBlazor.Components
{
Expand All @@ -17,162 +18,179 @@ public partial class Manually

private List<Entity> _calculateResult;

private ManuallyData _manuallyData;

protected override void OnInitialized()
{
_manuallyData = new ManuallyData(0, 0, new Space3D(), new Space3D(), new Surface2D(), new PearlEntity());

EventManager.Instance.AddListener<SetRTCountArgs>("tntAmountSetRTCount", (sender, args) =>
{
_manuallyData.ATNTAmount = args.Red;
_manuallyData.BTNTAmount = args.Blue;

StateHasChanged();
});

TranslateText.OnLanguageChange += RefreshPage;
}

private double ManuallyPearlPosX
{
get => Data.Pearl.Position.X;
get => _manuallyData.Pearl.Position.X;
set
{
Data.Pearl.Position.X = value;
_manuallyData.Pearl.Position.X = value;
_valueHasChanged = true;
}
}

private double ManuallyPearlMomentumX
{
get => Data.Pearl.Motion.X;
get => _manuallyData.Pearl.Motion.X;
set
{
Data.Pearl.Motion.X = value;
_manuallyData.Pearl.Motion.X = value;
_valueHasChanged = true;
}
}

private double ManuallyPearlPosY
{
get => Data.Pearl.Position.Y;
get => _manuallyData.Pearl.Position.Y;
set
{
Data.Pearl.Position.Y = value;
_manuallyData.Pearl.Position.Y = value;
_valueHasChanged = true;
}
}

private double ManuallyPearlMomentumY
{
get => Data.Pearl.Motion.Y;
get => _manuallyData.Pearl.Motion.Y;
set
{
Data.Pearl.Motion.Y = value;
_manuallyData.Pearl.Motion.Y = value;
_valueHasChanged = true;
}
}

private double ManuallyPearlPosZ
{
get => Data.Pearl.Position.Z;
get => _manuallyData.Pearl.Position.Z;
set
{
Data.Pearl.Position.Z = value;
_manuallyData.Pearl.Position.Z = value;
_valueHasChanged = true;
}
}

private double ManuallyPearlMomentumZ
{
get => Data.Pearl.Motion.Z;
get => _manuallyData.Pearl.Motion.Z;
set
{
Data.Pearl.Motion.Z = value;
_manuallyData.Pearl.Motion.Z = value;
_valueHasChanged = true;
}
}

private double ATNTX
{
get => Data.ATNT.X;
get => _manuallyData.ATNT.X;
set
{
Data.ATNT.X = value;
_manuallyData.ATNT.X = value;
_valueHasChanged = true;
}
}

private double BTNTX
{
get => Data.BTNT.X;
get => _manuallyData.BTNT.X;
set
{
Data.BTNT.X = value;
_manuallyData.BTNT.X = value;
_valueHasChanged = true;
}
}

private double ATNTY
{
get => Data.ATNT.Y;
get => _manuallyData.ATNT.Y;
set
{
Data.ATNT.Y = value;
_manuallyData.ATNT.Y = value;
_valueHasChanged = true;
}
}

private double BTNTY
{
get => Data.BTNT.Y;
get => _manuallyData.BTNT.Y;
set
{
Data.BTNT.Y = value;
_manuallyData.BTNT.Y = value;
_valueHasChanged = true;
}
}

private double ATNTZ
{
get => Data.ATNT.Z;
get => _manuallyData.ATNT.Z;
set
{
Data.ATNT.Z = value;
_manuallyData.ATNT.Z = value;
_valueHasChanged = true;
}
}

private double BTNTZ
{
get => Data.BTNT.Z;
get => _manuallyData.BTNT.Z;
set
{
Data.BTNT.Z = value;
_manuallyData.BTNT.Z = value;
_valueHasChanged = true;
}
}

private int ATNTAmount
{
get => Data.ATNTAmount;
get => _manuallyData.ATNTAmount;
set
{
Data.ATNTAmount = value;
_manuallyData.ATNTAmount = value;
_valueHasChanged = true;
}
}

private int BTNTAmount
{
get => Data.BTNTAmount;
get => _manuallyData.BTNTAmount;
set
{
Data.BTNTAmount = value;
_manuallyData.BTNTAmount = value;
_valueHasChanged = true;
}
}

private double ManuallyDestinationX
{
get => Data.Destination.X;
get => _manuallyData.Destination.X;
set
{
Data.Destination.X = value;
_manuallyData.Destination.X = value;
_valueHasChanged = true;
}
}

private double ManuallyDestinationZ
{
get => Data.Destination.Z;
get => _manuallyData.Destination.Z;
set
{
Data.Destination.Z = value;
_manuallyData.Destination.Z = value;
_valueHasChanged = true;
}
}
Expand Down Expand Up @@ -200,10 +218,10 @@ private async void ManuallyCalculateTNTAmount()

List<TNTCalculationResult> results = null;

var isSu = await Task.Run(() => Calculation.CalculateTNTAmount(Data.Destination, 100, out results));
var isSu = await Task.Run(() => Calculation.CalculateTNTAmount(_manuallyData, 100, 10, out results));

if (isSu)
EventManager.Instance.PublishEvent(this, "calculate", new CalculateTNTAmuontArgs(PublishKey, results));
EventManager.Instance.PublishEvent(this, "calculate", new CalculateTNTAmuontArgs(PublishKey, _manuallyData, results));

loading.Start();

Expand All @@ -215,23 +233,10 @@ private async void ManuallyCalculateTNTAmount()
private void ManuallyCalculatePearl(string key)
{
if (_valueHasChanged)
_calculateResult = Calculation.CalculatePearl(Data.ATNTAmount, Data.BTNTAmount, 100);
_calculateResult = Calculation.CalculatePearlTrace(_manuallyData, 100);
_valueHasChanged = false;

EventManager.Instance.PublishEvent(this, key, new PearlSimulateArgs(PublishKey, _calculateResult));
}

protected override void OnInitialized()
{
EventManager.Instance.AddListener<SetRTCountArgs>("tntAmountSetRTCount", (sender, args) =>
{
ATNTAmount = args.Red;
BTNTAmount = args.Blue;

StateHasChanged();
});

TranslateText.OnLanguageChange += RefreshPage;
EventManager.Instance.PublishEvent(this, key, new PearlSimulateArgs(PublishKey, _manuallyData.Pearl, _calculateResult));
}

public void RefreshPage()
Expand Down
18 changes: 8 additions & 10 deletions Components/ResultView.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using GeneralData = PearlCalculatorLib.General.Data;
using ManuallyData = PearlCalculatorLib.Manually.Data;
using System;
using AntDesign;
using PearlCalculatorLib.General;

namespace PearlCalculatorBlazor.Components
{
Expand Down Expand Up @@ -67,11 +66,11 @@ protected override void OnInitialized()
{
_pageIndex = 1;

AmountResult = GeneralData.TNTResult;
AmountResult = Data.TNTResult;

ShowMode = ShowResultMode.Amount;

ShowDirectionResult(GeneralData.Pearl.Position, GeneralData.Destination);
ShowDirectionResult(Data.Pearl.Position, Data.Destination);

StateHasChanged();
});
Expand All @@ -92,7 +91,7 @@ protected override void OnInitialized()
};
}).ToList());

ShowDirectionResult(GeneralData.Pearl.Position, new Space3D(PearlTrace[1].XCoor, PearlTrace[1].YCoor, PearlTrace[1].ZCoor));
ShowDirectionResult(args.Pearl.Position, new Space3D(PearlTrace[1].XCoor, PearlTrace[1].YCoor, PearlTrace[1].ZCoor));

ShowMode = ShowResultMode.Trace;

Expand All @@ -105,7 +104,7 @@ protected override void OnInitialized()

try
{
AmountResult.SortByWeightedDistance(new(GeneralData.TNTWeight, GeneralData.MaxCalculateTNT, GeneralData.MaxCalculateDistance));
AmountResult.SortByWeightedDistance(new(Data.TNTWeight, Data.MaxCalculateTNT, Data.MaxCalculateDistance));
}
catch(Exception e)
{
Expand All @@ -120,10 +119,9 @@ protected override void OnInitialized()
_pageIndex = 1;

AmountResult = args.Results;

ShowMode = ShowResultMode.Amount;

ShowDirectionResult(ManuallyData.Pearl.Position, ManuallyData.Destination.ToSpace3D());
ShowDirectionResult(args.ManuallyData.Pearl.Position, args.ManuallyData.Destination.ToSpace3D());

StateHasChanged();
});
Expand All @@ -144,7 +142,7 @@ protected override void OnInitialized()
};
}).ToList());

ShowDirectionResult(ManuallyData.Pearl.Position, new Space3D(PearlTrace[1].XCoor, PearlTrace[1].YCoor, PearlTrace[1].ZCoor));
ShowDirectionResult(args.Pearl.Position, new Space3D(PearlTrace[1].XCoor, PearlTrace[1].YCoor, PearlTrace[1].ZCoor));

ShowMode = ShowResultMode.Trace;

Expand All @@ -167,7 +165,7 @@ protected override void OnInitialized()
};
}).ToList());

ShowDirectionResult(ManuallyData.Pearl.Position, new Space3D(PearlTrace[1].XCoor, PearlTrace[1].YCoor, PearlTrace[1].ZCoor));
ShowDirectionResult(args.Pearl.Position, new Space3D(PearlTrace[1].XCoor, PearlTrace[1].YCoor, PearlTrace[1].ZCoor));

ShowMode = ShowResultMode.Momentum;

Expand Down
11 changes: 8 additions & 3 deletions Managers/EventArgs.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using PearlCalculatorLib.PearlCalculationLib.Entity;
using PearlCalculatorLib.Manually;
using PearlCalculatorLib.PearlCalculationLib.Entity;
using PearlCalculatorLib.Result;
using System.Collections.Generic;

Expand All @@ -23,10 +24,12 @@ public ButtonClickArgs(string publishKey) : base(publishKey)

public class PearlSimulateArgs : EventArgs
{
public readonly PearlEntity Pearl = new();
public readonly List<Entity> Trace;

public PearlSimulateArgs(string publishKey, List<Entity> trace) : base(publishKey)
public PearlSimulateArgs(string publishKey, PearlEntity pearl, List<Entity> trace) : base(publishKey)
{
this.Pearl = pearl;
this.Trace = trace;
}
}
Expand All @@ -45,10 +48,12 @@ public SetRTCountArgs(string publishKey, int red, int blue) : base(publishKey)

public class CalculateTNTAmuontArgs : EventArgs
{
public readonly ManuallyData ManuallyData;
public readonly List<TNTCalculationResult> Results;

public CalculateTNTAmuontArgs(string publishKey, List<TNTCalculationResult> results) : base(publishKey)
public CalculateTNTAmuontArgs(string publishKey, ManuallyData manuallyData, List<TNTCalculationResult> results) : base(publishKey)
{
this.ManuallyData = manuallyData;
this.Results = results;
}
}
Expand Down
2 changes: 0 additions & 2 deletions Managers/EventManager.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace PearlCalculatorBlazor.Managers
{
Expand Down
Loading

0 comments on commit eda09d0

Please sign in to comment.