npm.io
1.0.50 • Published 4 months ago

slanted-gamedev-toolz

Licence
ISC
Version
1.0.50
Deps
6
Size
18.7 MB
Vulns
0
Weekly
0

SlantedGameToolz

SlantedGameToolz is a collection of tools designed to be used in games made with typescript. UI components are rendered with react.

  • These tools can be used in iOS and Android apps when built with Capacitor
  • These tools can be used in PC and Mac apps when built with Electron

Tools

  • dice
  • weighted dice
  • percentage
  • React components

Components

ImportExportLocalStorage

  • define defaultData

use the save manager

  <ImportExportLocalStorage defaultData={defaultData} />

access data stored in local storage

const saveGameData2 = getDataFromLocalStorage(defaultData);

OR

const isLoading = useIsLoadingLocalStorage();
const { setIsLoading, handleResetGame } =
		useImportExportLocalStorageActions();
const { saveLocalStorageData, clearLocalStorageData, saveGameData } =
		useLocalSaveData(defaultData);

LocalizationSelect

saves the selected language in localstorage under key lagCode

  • add .png images to /public/flags/
  • required files en.png, de.png, es.png, zh.png, ja.png, ko.png, fr.png, ru.png, it.png, pt.png, hi.png

LocalizationSelect

import { LocalizationSelect } from "slanted-gamedev-toolz";

function App() {
	return (
	  <LocalizationSelect />
	);
}
export default App;
HexBtn

todo

SquareTileButton

todo

ImportExportLocalStorage

todo

Functions

Dice Utils

  • rollDice() A fair dice roll.
  • rollLowWeightedDice() An unfair fair dice roll that is more likely to roll low.
  • rollLowWeightedDice() An unfair fair dice roll that is more likely to roll high.

Array Utils

  • removeObjectsWithSameName() Removes objects from the first array if their name property matches any object's name in the second array.
  • randomArrayItem() Returns a random item from the provided array.

Number Utils

  • numberWithCommas() Formats a number with comma separators and optional suffixes for large values. Ex. 1,000,000(M)
  • isNumberTooLarge() Checks if a number exceeds JavaScript's Number.MAX_SAFE_INTEGER.
Example Usage
import { rollDice } from "slanted-gamedev-toolz";

 const outcome = rollDice(6); // roll 6 sided dice
 console.log(`outcome:`, outcome)
Parameter Type Description
diceSides number sides on the dice
Returns Type Description
number the result of the dice roll



Developer Instructions

To Publish:

  • set version in package.json > "version": "1.0.36"
  • run npm publish

You want to contribute to SlantedGameToolz?

  • Install the repo dependencies
  • Render components
    • storybook yarn storybook
    • or
    • Vite app yarn dev
  • Make code changes
  • Submit PR

From the root of the repo, open a terminal then run:

$ yarn install



How to publish to NPM

  • npm login (if fails do this first)
  • yarn build
  • bump version in package.json (ex: "version": "1.0.24")
  • npm publish

https://www.npmjs.com/package/slanted-gamedev-toolz

https://github.com/theslantedroom/SlantedGameDevToolz

Examples

Keywords