implement loot system feedback
This commit is contained in:
@@ -5,7 +5,7 @@ status="control">
|
||||
<h4>
|
||||
<a *ngIf="link === 'character'" [ngStyle]="{'color': color}" [routerLink]="'/frontcraft/character/'+char.charactername">
|
||||
{{char.charactername}}
|
||||
</a>
|
||||
</a>
|
||||
</h4>
|
||||
<h3>
|
||||
<span [ngStyle]="{'color': color}" *ngIf="link !== 'character'">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';
|
||||
import { Component, AfterViewInit, OnDestroy } from '@angular/core';
|
||||
import { NbThemeService } from '@nebular/theme';
|
||||
import { ApiService } from '../../services/login-api';
|
||||
import { _Class } from '../../../../../../backend/Types/Types';
|
||||
|
||||
@@ -18,8 +18,7 @@ export class FrontcraftItemSelectComponent implements OnInit{
|
||||
|
||||
constructor(
|
||||
private api: ApiService,
|
||||
){
|
||||
}
|
||||
){}
|
||||
|
||||
async ngOnInit(){
|
||||
Promise.all(this.items.map(itemname =>
|
||||
|
||||
@@ -24,97 +24,3 @@ export class FrontcraftShopComponent{
|
||||
private dialogService : NbDialogService
|
||||
){}
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'buyToken',
|
||||
template: `
|
||||
<nb-card class="col-12 col-xl-9">
|
||||
<nb-card-header>
|
||||
Buy {{item.itemname}}
|
||||
</nb-card-header>
|
||||
<nb-card-body>
|
||||
<p>
|
||||
You currently have {{currency}} softreserve currency
|
||||
</p>
|
||||
<div *ngIf="currency>0">
|
||||
<div *ngFor="let kv of modifier | keyvalue">
|
||||
<button
|
||||
(click)="buyToken(kv.key)"
|
||||
[disabled]="currency<=0"
|
||||
nbButton
|
||||
outline
|
||||
status="success"
|
||||
size="tiny">
|
||||
buy
|
||||
</button>
|
||||
{{kv.key}} <span *ngIf="kv.value>0">(<b>+{{kv.value}}</b> from priorities)</span>
|
||||
</div>
|
||||
<div *ngFor="let token of ownedtokens">
|
||||
<button
|
||||
(click)="buyToken(token.charactername)"
|
||||
nbButton
|
||||
outline
|
||||
status="success"
|
||||
size="tiny">
|
||||
buy
|
||||
</button>
|
||||
{{token.charactername}} [ {{token.level}} ] => [ {{token.level+1}} ]
|
||||
</div>
|
||||
</div>
|
||||
</nb-card-body>
|
||||
</nb-card>
|
||||
|
||||
`,
|
||||
})
|
||||
export class FrontcraftBuyTokenComponent implements OnInit{
|
||||
|
||||
item : Item
|
||||
characters: Character[]
|
||||
modifier = {}
|
||||
currency: number = 0
|
||||
ownedtokens: SRToken[] = []
|
||||
|
||||
constructor(
|
||||
private toastr: NbToastrService,
|
||||
protected dialogRef: NbDialogRef<FrontcraftBuyTokenComponent>,
|
||||
private api : ApiService
|
||||
){}
|
||||
|
||||
ngOnInit(): void {
|
||||
const usr = this.api.getCurrentUser()
|
||||
this.api.get('CharacterManager')
|
||||
.getCharactersOfUser(usr.username)
|
||||
.then(chars => {
|
||||
chars.forEach(char => {
|
||||
char['color'] = getClassColor(char.class)
|
||||
this.api.get('ItemManager').getToken(char, this.item).then(token => {
|
||||
if(token) this.ownedtokens.push(token)
|
||||
else{
|
||||
this.api.get('ItemManager').calculatePriorities(this.item.itemname, char).then(modifier => {
|
||||
this.modifier[char.charactername] = modifier
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
this.characters = chars
|
||||
})
|
||||
this.api.get('UserManager').getUser(usr.username).then(u => {
|
||||
if(!u) return
|
||||
this.currency = u.currency
|
||||
})
|
||||
}
|
||||
|
||||
buyToken = async (charactername:string) => {
|
||||
|
||||
const src = this.api.get('ItemManager')
|
||||
const token = await src.buyToken(this.api.getAuth().token.value, charactername, this.item.itemname)
|
||||
|
||||
|
||||
if(token){
|
||||
this.toastr.show(token.characterid+' now has a token for '+token.itemname+' of level '+token.level, 'Yay', {status: 'success'})
|
||||
}else{
|
||||
this.toastr.show('Error (something went wrong)', 'Oh no', {status: 'danger'})
|
||||
}
|
||||
this.dialogRef.close()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user