mirror of
				https://github.com/pagefaultgames/pokerogue.git
				synced 2025-10-31 00:15:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { getIconForLatestInput, getSettingNameWithKeycode } from "#app/configs/inputs/configHandler";
 | |
| import { SettingKeyboard } from "#app/system/settings/settings-keyboard";
 | |
| import { expect } from "vitest";
 | |
| 
 | |
| export class InGameManip {
 | |
|   private config;
 | |
|   private keycode;
 | |
|   private settingName;
 | |
|   private icon;
 | |
|   private configs;
 | |
|   private latestSource;
 | |
|   private selectedDevice;
 | |
| 
 | |
|   constructor(configs, config, selectedDevice) {
 | |
|     this.config = config;
 | |
|     this.configs = configs;
 | |
|     this.selectedDevice = selectedDevice;
 | |
|     this.keycode = null;
 | |
|     this.settingName = null;
 | |
|     this.icon = null;
 | |
|     this.latestSource = null;
 | |
|   }
 | |
| 
 | |
|   whenWePressOnKeyboard(keycode) {
 | |
|     this.keycode = Phaser.Input.Keyboard.KeyCodes[keycode.toUpperCase()];
 | |
|     return this;
 | |
|   }
 | |
| 
 | |
|   nothingShouldHappen() {
 | |
|     const settingName = getSettingNameWithKeycode(this.config, this.keycode);
 | |
|     expect(settingName).toEqual(-1);
 | |
|     return this;
 | |
|   }
 | |
| 
 | |
|   forTheWantedBind(settingName) {
 | |
|     if (!settingName.includes("Button_")) {
 | |
|       settingName = "Button_" + settingName;
 | |
|     }
 | |
|     this.settingName = SettingKeyboard[settingName];
 | |
|     return this;
 | |
|   }
 | |
| 
 | |
|   weShouldSeeTheIcon(icon) {
 | |
|     if (!icon.includes("KEY_")) {
 | |
|       icon = "KEY_" + icon;
 | |
|     }
 | |
|     this.icon = this.config.icons[icon];
 | |
|     expect(getIconForLatestInput(this.configs, this.latestSource, this.selectedDevice, this.settingName)).toEqual(
 | |
|       this.icon,
 | |
|     );
 | |
|     return this;
 | |
|   }
 | |
| 
 | |
|   forTheSource(source) {
 | |
|     this.latestSource = source;
 | |
|     return this;
 | |
|   }
 | |
| 
 | |
|   normalizeSettingNameString(input) {
 | |
|     // Convert the input string to lower case
 | |
|     const lowerCasedInput = input.toLowerCase();
 | |
| 
 | |
|     // Replace underscores with spaces, capitalize the first letter of each word, and join them back with underscores
 | |
|     const words = lowerCasedInput.split("_").map(word => word.charAt(0).toUpperCase() + word.slice(1));
 | |
|     const result = words.join("_");
 | |
| 
 | |
|     return result;
 | |
|   }
 | |
| 
 | |
|   weShouldTriggerTheButton(settingName) {
 | |
|     if (!settingName.includes("Button_")) {
 | |
|       settingName = "Button_" + settingName;
 | |
|     }
 | |
|     this.settingName = SettingKeyboard[this.normalizeSettingNameString(settingName)];
 | |
|     expect(getSettingNameWithKeycode(this.config, this.keycode)).toEqual(this.settingName);
 | |
|     return this;
 | |
|   }
 | |
| }
 |