visitor list
This commit is contained in:
@@ -4,8 +4,8 @@ import { ERouteKey } from '../../types/route-key';
|
||||
import { Chibi, ChibiId } from '../../types/chibi/chibi';
|
||||
import { InteractionCanvasComponent } from "../../components/interaction-canvas/interaction-canvas.component";
|
||||
import { ChibiStore } from '../../api/chibi.store';
|
||||
import { FoodPantryComponent } from "../../components/food-pantry/food-pantry.component";
|
||||
import { InventoryComponent } from "../../components/inventory/inventory.component";
|
||||
import { FoodPantryComponent } from "../../components/interaction-menus/food-pantry/food-pantry.component";
|
||||
import { InventoryComponent } from "../../components/interaction-menus/inventory/inventory.component";
|
||||
import { ButtonComponent } from "../../components/ui-elements/button/button.component";
|
||||
import { EChibiInteraction } from '../../types/chibi/chibi-interaction';
|
||||
import { IBrain } from '../../logic/chibi-behaviour/brain';
|
||||
@@ -15,18 +15,22 @@ import { Food } from '../../types/food';
|
||||
import { interval, Subscribable, Subscription } from 'rxjs';
|
||||
import { RandomService } from '../../logic/random.service';
|
||||
import { ChibiInteraction } from '../../logic/chibi-behaviour/brains/aperio.brain';
|
||||
import { isState, STATES } from '../../types/chibi/chibi-state';
|
||||
import { EChibiStateName } from '../../types/chibi/chibi-state-name';
|
||||
import { VisitorListComponent } from "../../components/interaction-menus/visitor-list/visitor-list.component";
|
||||
|
||||
enum EInteractionMenuState {
|
||||
Neutral,
|
||||
Pantry,
|
||||
Inventory
|
||||
Inventory,
|
||||
VisitorList
|
||||
}
|
||||
|
||||
const THINKING_INTERVAL: number = 2000;
|
||||
|
||||
@Component({
|
||||
selector: 'ff-interactions',
|
||||
imports: [HeaderComponent, InteractionCanvasComponent, FoodPantryComponent, InventoryComponent, ButtonComponent],
|
||||
imports: [HeaderComponent, InteractionCanvasComponent, FoodPantryComponent, InventoryComponent, ButtonComponent, VisitorListComponent],
|
||||
templateUrl: './interactions.component.html',
|
||||
})
|
||||
export class InteractionsComponent extends TranslateableComponent implements OnDestroy {
|
||||
@@ -65,6 +69,10 @@ export class InteractionsComponent extends TranslateableComponent implements OnD
|
||||
this.sub.unsubscribe();
|
||||
}
|
||||
|
||||
public isAwake(): boolean {
|
||||
return isState(STATES[this.chibi().state], EChibiStateName.Awake);
|
||||
}
|
||||
|
||||
public interact(interaction: EChibiInteraction, item?: Food): void {
|
||||
console.log(`${interaction} ${this.chibi().name} and item ${item}`);
|
||||
this.brain.resolveInteraction({ name: interaction, payload: item } as ChibiInteraction<Food>);
|
||||
@@ -78,6 +86,10 @@ export class InteractionsComponent extends TranslateableComponent implements OnD
|
||||
this.interactionMenuState.set(EInteractionMenuState.Inventory);
|
||||
}
|
||||
|
||||
public openVisitorList(): void {
|
||||
this.interactionMenuState.set(EInteractionMenuState.VisitorList);
|
||||
}
|
||||
|
||||
public closeMenu(): void {
|
||||
this.interactionMenuState.set(EInteractionMenuState.Neutral);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user