evotars 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/app.d.ts +19 -0
  2. package/dist/config/config.d.ts +22 -0
  3. package/dist/config/constants.d.ts +1 -0
  4. package/dist/entities/EmoteSpitter.d.ts +15 -0
  5. package/dist/entities/Evotar.d.ts +79 -0
  6. package/dist/entities/Message.d.ts +27 -0
  7. package/dist/entities/Name.d.ts +14 -0
  8. package/dist/entities/SpriteContainer.d.ts +16 -0
  9. package/dist/entities/TrailEffect.d.ts +15 -0
  10. package/dist/evotars.d.ts +14 -0
  11. package/dist/evotars.js +789 -0
  12. package/dist/evotars.umd.cjs +1 -0
  13. package/dist/helpers/timer.d.ts +14 -0
  14. package/dist/helpers/types.d.ts +10 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/services/assetsLoader.d.ts +14 -0
  17. package/dist/services/evotarsManager.d.ts +30 -0
  18. package/dist/services/soundService.d.ts +12 -0
  19. package/dist/services/spriteProvider.d.ts +33 -0
  20. package/dist/types/dto/action.d.ts +49 -0
  21. package/{src/types/dto/chatter.ts → dist/types/dto/chatter.d.ts} +2 -2
  22. package/dist/types/dto/event.d.ts +9 -0
  23. package/dist/types/dto/message.d.ts +8 -0
  24. package/dist/types/dto/settings.d.ts +5 -0
  25. package/dist/types/dto/user.d.ts +12 -0
  26. package/package.json +30 -3
  27. package/.editorconfig +0 -13
  28. package/.prettierrc.json +0 -3
  29. package/index.html +0 -13
  30. package/public/fonts/Rubik.ttf +0 -0
  31. package/public/sounds/jump.mp3 +0 -0
  32. package/public/sprites/agent/agent.json +0 -166
  33. package/public/sprites/agent/agent.png +0 -0
  34. package/public/sprites/cat/cat.json +0 -231
  35. package/public/sprites/cat/cat.png +0 -0
  36. package/public/sprites/dude/dude.json +0 -231
  37. package/public/sprites/dude/dude.png +0 -0
  38. package/public/sprites/girl/girl.json +0 -231
  39. package/public/sprites/girl/girl.png +0 -0
  40. package/public/sprites/nerd/nerd.json +0 -231
  41. package/public/sprites/nerd/nerd.png +0 -0
  42. package/public/sprites/senior/senior.json +0 -231
  43. package/public/sprites/senior/senior.png +0 -0
  44. package/public/sprites/sith/sith.json +0 -166
  45. package/public/sprites/sith/sith.png +0 -0
  46. package/src/app.ts +0 -63
  47. package/src/config/config.ts +0 -133
  48. package/src/config/constants.ts +0 -1
  49. package/src/dudes.ts +0 -71
  50. package/src/entities/Dude.ts +0 -453
  51. package/src/entities/DudeEmoteSpitter.ts +0 -60
  52. package/src/entities/DudeMessage.ts +0 -163
  53. package/src/entities/DudeName.ts +0 -39
  54. package/src/entities/DudeSpriteContainer.ts +0 -68
  55. package/src/entities/DudeTrailEffect.ts +0 -72
  56. package/src/helpers/timer.ts +0 -43
  57. package/src/helpers/types.ts +0 -11
  58. package/src/index.ts +0 -75
  59. package/src/services/assetsLoader.ts +0 -27
  60. package/src/services/dudesManager.ts +0 -305
  61. package/src/services/soundService.ts +0 -28
  62. package/src/services/spriteProvider.ts +0 -93
  63. package/src/styles.css +0 -16
  64. package/src/types/dto/action.ts +0 -68
  65. package/src/types/dto/event.ts +0 -9
  66. package/src/types/dto/message.ts +0 -8
  67. package/src/types/dto/settings.ts +0 -5
  68. package/src/types/dto/user.ts +0 -13
  69. package/tsconfig.json +0 -23
  70. /package/{src/types/dto/index.ts → dist/types/dto/index.d.ts} +0 -0
  71. /package/{src/types/index.ts → dist/types/index.d.ts} +0 -0
package/dist/app.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { SettingsEntity } from './types';
2
+ import { SoundManifest } from './services/soundService';
3
+ import { Evotar } from './entities/Evotar';
4
+ import * as PIXI from 'pixi.js';
5
+ export type AppOptions = {
6
+ manifest: PIXI.AssetsManifest;
7
+ sound: SoundManifest;
8
+ };
9
+ export declare class App {
10
+ stage: PIXI.Container;
11
+ evotars: Record<string, Evotar>;
12
+ chatterIds: string[];
13
+ settings: SettingsEntity;
14
+ renderer: PIXI.Renderer;
15
+ init(options: AppOptions, element: HTMLElement): Promise<void>;
16
+ updateSettings(data: SettingsEntity): void;
17
+ update(): void;
18
+ }
19
+ export declare const app: App;
@@ -0,0 +1,22 @@
1
+ export type Sprites = {
2
+ [key: string]: SpriteConfig;
3
+ };
4
+ export type Config = {
5
+ sprites: Sprites;
6
+ };
7
+ export type SpriteConfig = {
8
+ name: string;
9
+ w: number;
10
+ h: number;
11
+ collider: {
12
+ x: number;
13
+ y: number;
14
+ w: number;
15
+ h: number;
16
+ };
17
+ pivot: {
18
+ x: number;
19
+ y: number;
20
+ };
21
+ };
22
+ export declare const config: Config;
@@ -0,0 +1 @@
1
+ export declare const FIXED_DELTA_TIME: number;
@@ -0,0 +1,15 @@
1
+ import { Point } from '../helpers/types';
2
+ import * as PIXI from 'pixi.js';
3
+ export type EvotarEmoteSpitterProps = {
4
+ position: Point;
5
+ };
6
+ export declare class EvotarEmoteSpitter {
7
+ container: PIXI.Container;
8
+ private emotes;
9
+ private moveSpeed;
10
+ private alphaSpeed;
11
+ private scaleSpeed;
12
+ private timer?;
13
+ add(url: string): void;
14
+ update(props: EvotarEmoteSpitterProps): void;
15
+ }
@@ -0,0 +1,79 @@
1
+ import { EvotarTrailEffect } from './TrailEffect';
2
+ import { EvotarSpriteTags } from '../services/spriteProvider';
3
+ import { Timer } from '../helpers/timer';
4
+ import { SpriteConfig } from '../config/config';
5
+ import * as TWEEN from '@tweenjs/tween.js';
6
+ import * as PIXI from 'pixi.js';
7
+ export type EvotarProps = {
8
+ name?: string;
9
+ sprite?: SpriteConfig;
10
+ color?: PIXI.Color;
11
+ direction?: number;
12
+ scale?: number;
13
+ isAnonymous?: boolean;
14
+ zIndex?: number;
15
+ };
16
+ export type EvotarSpawnProps = {
17
+ isFalling?: boolean;
18
+ positionX?: number;
19
+ onComplete?: () => void;
20
+ };
21
+ export type EvotarDepawnProps = {
22
+ onComplete?: () => void;
23
+ };
24
+ type UserProps = {
25
+ color?: PIXI.Color;
26
+ };
27
+ export declare const DEFAULT_EVOTAR_SCALE = 4;
28
+ export declare class Evotar {
29
+ container: PIXI.Container;
30
+ private userState;
31
+ private state;
32
+ private animationState?;
33
+ private sprite?;
34
+ private tagSprites;
35
+ trail: EvotarTrailEffect;
36
+ private name;
37
+ private message;
38
+ private emoteSpitter;
39
+ private velocity;
40
+ private runSpeed;
41
+ private gravity;
42
+ private dashAcc;
43
+ private isJumping;
44
+ private isDashing;
45
+ private isDespawned;
46
+ landTimer?: Timer;
47
+ stateTimer?: Timer;
48
+ scaleTimer?: Timer;
49
+ spawnTween?: TWEEN.Tween<PIXI.Container>;
50
+ fadeTween?: TWEEN.Tween<PIXI.Container>;
51
+ scaleTween?: TWEEN.Tween<Evotar>;
52
+ constructor(props?: EvotarProps);
53
+ spawn(props?: EvotarSpawnProps): void;
54
+ despawn(props?: EvotarDepawnProps): void;
55
+ scale(options: {
56
+ value: number;
57
+ duration: number;
58
+ cooldown: number;
59
+ }): void;
60
+ jump(options: {
61
+ velocityX: number;
62
+ velocityY: number;
63
+ cooldown: number;
64
+ }): void;
65
+ dash(options: {
66
+ force: number;
67
+ cooldown: number;
68
+ }): void;
69
+ setSprite(sprite: SpriteConfig): void;
70
+ setProps(props: EvotarProps): void;
71
+ setUserProps(props: UserProps): void;
72
+ private move;
73
+ update(): void;
74
+ isOnGround(y: number): boolean;
75
+ addMessage(message: string): void;
76
+ spitEmotes(emotes: string[]): void;
77
+ setAnimationState(state: EvotarSpriteTags, force?: boolean): Promise<void>;
78
+ }
79
+ export {};
@@ -0,0 +1,27 @@
1
+ import { Point } from '../helpers/types';
2
+
3
+ import * as PIXI from 'pixi.js';
4
+ export type EvotarMesageProps = {
5
+ position: Point;
6
+ };
7
+ export declare class EvotarMessage {
8
+ private beforeShow;
9
+ container: PIXI.Container;
10
+ animated: PIXI.Container;
11
+ private text;
12
+ private padding;
13
+ private borderRadius;
14
+ private boxColor;
15
+ private fadeShift;
16
+ private isChecking;
17
+ private messageQueue;
18
+ private showTween?;
19
+ private hideTween?;
20
+ private timer?;
21
+ constructor(beforeShow: () => void);
22
+ private trim;
23
+ update(props: EvotarMesageProps): void;
24
+ add(message: string): void;
25
+ private drawBox;
26
+ private show;
27
+ }
@@ -0,0 +1,14 @@
1
+ import { Point, Rect } from '../helpers/types';
2
+
3
+ import * as PIXI from 'pixi.js';
4
+ export type EvotarNameProps = {
5
+ name: string;
6
+ position: Point;
7
+ isVisible: boolean;
8
+ };
9
+ export declare class EvotarName {
10
+ text: PIXI.Text;
11
+ constructor();
12
+ update(props: EvotarNameProps): void;
13
+ rect: () => Rect;
14
+ }
@@ -0,0 +1,16 @@
1
+ import { EvotarLayerAnimatedSprite, EvotarSpriteLayers } from '../services/spriteProvider';
2
+ import { Point } from '../helpers/types';
3
+ import * as PIXI from 'pixi.js';
4
+ export type EvotarSpriteContainerProps = {
5
+ color: {
6
+ [key in EvotarSpriteLayers]?: PIXI.Color;
7
+ };
8
+ scale: Point;
9
+ play: boolean;
10
+ };
11
+ export declare class EvotarSpriteContainer {
12
+ container: PIXI.Container;
13
+ sprites: EvotarLayerAnimatedSprite[];
14
+ constructor(sprites: EvotarLayerAnimatedSprite[]);
15
+ update(props: EvotarSpriteContainerProps): void;
16
+ }
@@ -0,0 +1,15 @@
1
+ import { EvotarSpriteContainer } from './SpriteContainer';
2
+ import * as PIXI from 'pixi.js';
3
+ export type EvotarTrailEffectProps = {
4
+ play: boolean;
5
+ };
6
+ export declare class EvotarTrailEffect {
7
+ container: PIXI.Container;
8
+ private timer?;
9
+ private sprite?;
10
+ private opacityStep;
11
+ private shadowStep;
12
+ constructor();
13
+ setSprite(sprite: EvotarSpriteContainer): void;
14
+ update(props: EvotarTrailEffectProps): void;
15
+ }
@@ -0,0 +1,14 @@
1
+ import { AppOptions } from './app';
2
+ import { MessageEntity, RaidData, SettingsEntity, TwitchChatterEntity, UserActionEntity } from './types';
3
+
4
+ export declare class Evotars {
5
+ private readonly root;
6
+ private isRendered;
7
+ constructor(root: HTMLElement);
8
+ processMessage: (data: MessageEntity) => void;
9
+ processAction: (data: UserActionEntity) => void;
10
+ processChatters: (data: TwitchChatterEntity[]) => void;
11
+ processRaid: (data: RaidData) => void;
12
+ updateSettings(data: SettingsEntity): void;
13
+ run(options: AppOptions): Promise<void>;
14
+ }