2024-03-29 08:04:07 -07:00

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;
}
}