70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';
|
|
import { ActivatedRoute } from '@angular/router';
|
|
import { first } from 'rxjs/operators';
|
|
import { MD2Service } from '../../../../services/MD2/md2.service';
|
|
import { StateService } from '../../../../services/state.service';
|
|
import { StringUtils } from '../../../../utilities/string-utils';
|
|
import { MD2Icon, MobInfo, MobDlgType, MobType } from '../../massive-darkness2.model';
|
|
import { MD2ComponentBase } from '../../MD2Base';
|
|
import { SpawnMobDlgComponent } from '../spawn-mob-dlg/spawn-mob-dlg.component';
|
|
|
|
@Component({
|
|
selector: 'md2-mob-stand-info',
|
|
templateUrl: './mob-stand-info.component.html',
|
|
styleUrls: ['./mob-stand-info.component.scss']
|
|
})
|
|
export class MobStandInfoComponent extends MD2ComponentBase implements OnInit {
|
|
|
|
MD2Icon = MD2Icon;
|
|
private _mob: MobInfo;
|
|
public get mob(): MobInfo {
|
|
return this._mob;
|
|
}
|
|
|
|
@Input() public set mob(v: MobInfo) {
|
|
if (this._mob != v) {
|
|
this._mob = v;
|
|
|
|
}
|
|
}
|
|
|
|
@Input() mode: MobDlgType = MobDlgType.PreView;
|
|
public get hideWeaponInfo(): boolean {
|
|
return this.mode == MobDlgType.Spawn;
|
|
}
|
|
|
|
|
|
constructor(
|
|
public md2Service: MD2Service,
|
|
protected stateService: StateService,
|
|
protected route: ActivatedRoute,
|
|
protected cdRef: ChangeDetectorRef,
|
|
) {
|
|
super(md2Service, stateService, route, cdRef);
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
}
|
|
|
|
public getMobImageUrl(mob: MobInfo): string {
|
|
if (StringUtils.isNullOrWhitespace(mob.leaderImgUrl)) {
|
|
return mob.imageUrl;
|
|
} else {
|
|
return mob.leaderImgUrl;
|
|
}
|
|
}
|
|
|
|
|
|
showMobImage(mob: MobInfo) {
|
|
this.md2Service.dlgService.open(SpawnMobDlgComponent, { context: { title: `${mob.description}`, mode: MobDlgType.PreView, mob: mob } })
|
|
.onClose.pipe(first()).subscribe(result => {
|
|
|
|
});
|
|
}
|
|
|
|
public get isMob(): boolean {
|
|
return this.mob.type == MobType.Mob;
|
|
}
|
|
|
|
}
|