1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-29 14:35:45 +00:00

Shake + retourne

This commit is contained in:
Yan Maniez 2019-07-25 23:03:21 +02:00
parent c5c8afdd4b
commit da24632f18
2 changed files with 45 additions and 13 deletions

View file

@ -103,7 +103,7 @@
<Button Grid.Column="1" Grid.Row="1" Text="Caractéristiques" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Abilities}"/>
</Grid>
</ContentPage>
<ContentPage x:Name="Abilities" Title="Caractéristiques">
<ContentPage x:Name="Abilities" Title="Caractéristiques" Appearing="Abilities_Appearing" Disappearing="Abilities_Disappearing">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />

View file

@ -25,18 +25,6 @@ namespace AideDeJeu.Views.PlayerCharacter
BindingContext = DependencyService.Get<PlayerCharacterEditorViewModel>(); // new PlayerCharacterEditorViewModel();
InitializeComponent();
if (!Accelerometer.IsMonitoring)
{
Accelerometer.ShakeDetected += Accelerometer_ShakeDetected;
Accelerometer.Start(SensorSpeed.Game);
}
}
private void Accelerometer_ShakeDetected(object sender, EventArgs e)
{
var vm = BindingContext as PlayerCharacterEditorViewModel;
vm.RollDicesMRickCommand.Execute(null);
}
//protected override bool OnBackButtonPressed()
@ -79,5 +67,49 @@ namespace AideDeJeu.Views.PlayerCharacter
//Navigation.PushModalAsync(page, true);
await Navigation.PushAsync(page, true);
}
private void Abilities_Appearing(object sender, EventArgs e)
{
if (!Accelerometer.IsMonitoring)
{
Accelerometer.ShakeDetected += Accelerometer_ShakeDetected;
Accelerometer.Start(SensorSpeed.Game);
}
if (!Gyroscope.IsMonitoring)
{
Gyroscope.ReadingChanged += Gyroscope_ReadingChanged;
Gyroscope.Start(SensorSpeed.Game);
}
}
private void Gyroscope_ReadingChanged(object sender, GyroscopeChangedEventArgs e)
{
if(e.Reading.AngularVelocity.Z >= 1)
{
var vm = BindingContext as PlayerCharacterEditorViewModel;
vm.ResetDicesCommand.Execute(null);
}
}
private void Accelerometer_ShakeDetected(object sender, EventArgs e)
{
var vm = BindingContext as PlayerCharacterEditorViewModel;
vm.RollDicesMRickCommand.Execute(null);
}
private void Abilities_Disappearing(object sender, EventArgs e)
{
if (Gyroscope.IsMonitoring)
{
Gyroscope.Stop();
Gyroscope.ReadingChanged -= Gyroscope_ReadingChanged;
}
if (Accelerometer.IsMonitoring)
{
Accelerometer.Stop();
Accelerometer.ShakeDetected -= Accelerometer_ShakeDetected;
}
}
}
}