fix: pause timer when not in gaming state
This commit is contained in:
		
							parent
							
								
									58ef5cb59f
								
							
						
					
					
						commit
						42b58824cc
					
				| 
						 | 
					@ -1,3 +1,5 @@
 | 
				
			||||||
 | 
					import { GameState } from "../../shattered_sword/sword_enums";
 | 
				
			||||||
 | 
					import InputWrapper from "../../shattered_sword/Tools/InputWrapper";
 | 
				
			||||||
import Updateable from "../DataTypes/Interfaces/Updateable";
 | 
					import Updateable from "../DataTypes/Interfaces/Updateable";
 | 
				
			||||||
import MathUtils from "../Utils/MathUtils";
 | 
					import MathUtils from "../Utils/MathUtils";
 | 
				
			||||||
import TimerManager from "./TimerManager";
 | 
					import TimerManager from "./TimerManager";
 | 
				
			||||||
| 
						 | 
					@ -70,7 +72,7 @@ export default class Timer implements Updateable {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    update(deltaT: number){
 | 
					    update(deltaT: number){
 | 
				
			||||||
        if(this.state === TimerState.ACTIVE){
 | 
					        if(this.state === TimerState.ACTIVE && InputWrapper.getState() === GameState.GAMING){
 | 
				
			||||||
            this.timeLeft -= deltaT*1000;
 | 
					            this.timeLeft -= deltaT*1000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if(this.timeLeft <= 0){
 | 
					            if(this.timeLeft <= 0){
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,12 +3,21 @@ import EnemyState from "./EnemyState";
 | 
				
			||||||
import Sprite from "../../../Wolfie2D/Nodes/Sprites/Sprite";
 | 
					import Sprite from "../../../Wolfie2D/Nodes/Sprites/Sprite";
 | 
				
			||||||
import AnimatedSprite from "../../../Wolfie2D/Nodes/Sprites/AnimatedSprite";
 | 
					import AnimatedSprite from "../../../Wolfie2D/Nodes/Sprites/AnimatedSprite";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default class Alert extends EnemyState {
 | 
					export default class Attack extends EnemyState {
 | 
				
			||||||
 | 
					    protected charged: string;
 | 
				
			||||||
 | 
					    protected attacked: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    onEnter(options: Record<string, any>): void {
 | 
					    onEnter(options: Record<string, any>): void {
 | 
				
			||||||
        (<AnimatedSprite>this.owner).animation.playIfNotAlready("WALK", true);
 | 
					        let event = this.owner.id+"charged";
 | 
				
			||||||
 | 
					        (<AnimatedSprite>this.owner).animation.play("DYING", false, event);
 | 
				
			||||||
 | 
					        this.receiver.subscribe(event);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    update(deltaT: number): void {
 | 
					    update(deltaT: number): void {
 | 
				
			||||||
 | 
					        while (this.receiver.hasNextEvent()) {
 | 
				
			||||||
 | 
					            this.receiver.getNextEvent();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        let position = this.parent.getPlayerPosition();
 | 
					        let position = this.parent.getPlayerPosition();
 | 
				
			||||||
        if (position) {
 | 
					        if (position) {
 | 
				
			||||||
            this.parent.velocity.x = this.parent.maxSpeed * Math.sign(position.x - this.owner.position.x);
 | 
					            this.parent.velocity.x = this.parent.maxSpeed * Math.sign(position.x - this.owner.position.x);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,15 +4,18 @@ import Vec2 from "../../../Wolfie2D/DataTypes/Vec2";
 | 
				
			||||||
import GameEvent from "../../../Wolfie2D/Events/GameEvent";
 | 
					import GameEvent from "../../../Wolfie2D/Events/GameEvent";
 | 
				
			||||||
import GameNode from "../../../Wolfie2D/Nodes/GameNode";
 | 
					import GameNode from "../../../Wolfie2D/Nodes/GameNode";
 | 
				
			||||||
import EnemyAI from "../EnemyAI";
 | 
					import EnemyAI from "../EnemyAI";
 | 
				
			||||||
 | 
					import Receiver from "../../../Wolfie2D/Events/Receiver";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default abstract class EnemyState extends State {
 | 
					export default abstract class EnemyState extends State {
 | 
				
			||||||
  protected parent: EnemyAI;
 | 
					  protected parent: EnemyAI;
 | 
				
			||||||
  protected owner: GameNode;
 | 
					  protected owner: GameNode;
 | 
				
			||||||
 | 
					  protected receiver: Receiver;
 | 
				
			||||||
  gravity: number = 1500; //TODO - can change later
 | 
					  gravity: number = 1500; //TODO - can change later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  constructor(parent: EnemyAI, owner: GameNode) {
 | 
					  constructor(parent: EnemyAI, owner: GameNode) {
 | 
				
			||||||
    super(parent);
 | 
					    super(parent);
 | 
				
			||||||
    this.owner = owner;
 | 
					    this.owner = owner;
 | 
				
			||||||
 | 
					    this.receiver = new Receiver();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  handleInput(event: GameEvent): void { }
 | 
					  handleInput(event: GameEvent): void { }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user