diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts index c2741ec..4c735be 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/app.module.ts @@ -45,6 +45,7 @@ import { WeaponService } from '../services/weapon.service'; import { ArmorService } from '../services/armor.service'; import { OtherEquipmentService } from '../services/other-equipment.service'; import { ThrowPrimaryAbilityComponent } from './components/throws/throw-primary-ability/throw-primary-ability.component'; +import { MatRadioModule } from '@angular/material/radio'; @NgModule({ declarations: [ @@ -89,6 +90,7 @@ import { ThrowPrimaryAbilityComponent } from './components/throws/throw-primary- MatTableModule, MatSortModule, MatTooltipModule, + MatRadioModule, ], providers: [ UserService, diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html index 55018a5..3397a90 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.html @@ -1,7 +1,7 @@
-
{{ability.value}}
+
{{ability.value}}
Mod: {{ability.modification > 0? '+' + ability.modification : + ability.modification}}
diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts index 539da57..a5a2fb1 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/ability-card/ability-card.component.ts @@ -46,8 +46,13 @@ export class AbilityCardComponent implements OnInit { } } - public OpenPrimaryThrowDialog(): void { + public OpenPrimaryThrowDialog(abilityName: string, abilityValue: number, abilityMod: number): void { this.dialog.open(ThrowPrimaryAbilityComponent, { + data: { + abilityName: abilityName, + abilityValue: abilityValue, + abilityMod: abilityMod, + } }); } diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.css b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.css index 544e80b..702d3cc 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.css +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/player-dashboard/player-dashboard.component.css @@ -1,5 +1,9 @@ @import "../../../styles.css"; +.toggle-class{ + margin: 5px; +} + .menu-spacer { flex: 1 1 auto; } diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.css b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.css index b94a9d5..4a844fc 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.css +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.css @@ -5,6 +5,7 @@ ::ng-deep.mat-dialog-container { background-color: #102028; color: whitesmoke; + box-shadow: -1px 3px 48px 23px rgba(0,0,0,0.82); } .header-throw-dialog { color: orange; @@ -15,6 +16,7 @@ background-color: #102028; color: orange; height: 400px; + display: block; } .throw-dialog-actions { @@ -28,14 +30,45 @@ } } -@media (min-width: 468px) and (max-width: 768px) { - .throw-container { - width: 420px; - } -} - @media (min-width: 768px) { .throw-container { width: 480px; } } + +.button-dialog:hover { + opacity: 0.5; +} + +#radio-group-label-class { + margin-bottom: 5%; +} + +.radio-group { + display: flex; + flex-direction: column; +} + +.radio-button { + padding: 5%; + border: 1px #e9cca7 solid; + border-radius: 10px; + margin-bottom: 5%; + font-size: 14px; +} + +.radio-button:hover { + opacity: 0.5; +} + +.mat-divider--custom-style{ + background-color: #9e8b6e; + margin-bottom: 20px; + box-shadow: 0 1px 0 0 #d8d8d8; +} + +.score-result { + height: 50px; + padding-bottom: 5%; + font-weight: bold; +} diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.html b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.html index 28e27cf..abea869 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.html +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.html @@ -1,13 +1,31 @@
- Header + Click to roll the {{abilityName}}
+
- Content + + + + + Normal throw on ability + + + Hidden throw for Game Master + + +
+ Your score has been send to Game Master +
+
Your roll result is: {{score}}
+
Your roll with mode result is: {{score+abilityMod}}
+
- - +
diff --git a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.ts b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.ts index 36bf106..1492347 100644 --- a/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.ts +++ b/SessionCompanion/SessionCompanion/ClientApp/src/app/components/throws/throw-primary-ability/throw-primary-ability.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import {Component, Inject, Input, OnInit} from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; import { AbilitiesComponent } from '../../abilities/abilities.component'; @@ -8,6 +8,21 @@ import { AbilitiesComponent } from '../../abilities/abilities.component'; styleUrls: ['./throw-primary-ability.component.css'] }) export class ThrowPrimaryAbilityComponent implements OnInit { + score: number; + checked = false; + choosedThrow: string; + throws: string[] = [`Normal throw on ability`, 'Hidden throw for Game Master']; + dataCube: { + currentFaceIndex: 0, + isRolling: false, + faces: [], + }; + showSendToGMMessage: boolean; + + @Input() abilityName: string; + @Input() abilityValue: number; + @Input() abilityMod: number; + @Input() message: string; constructor( public dialogRef: MatDialogRef, @@ -15,6 +30,28 @@ export class ThrowPrimaryAbilityComponent implements OnInit { ) {} ngOnInit() { + this.abilityName = this.data.abilityName; + this.abilityValue = this.data.abilityValue; + this.abilityMod = this.data.abilityMod; } + getRandomNumberBetween(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min)) + min; +} + + getResultOfRoll(choice: string) { + switch (choice) { + case 'normal': + this.score = this.getRandomNumberBetween(1, 20); + this.showSendToGMMessage = false; + break; + case 'hidden': + this.score = null; + this.showSendToGMMessage = true; + //TODO tutaj bedzie wyslanie rzutu do GM + break; + } + } }