147 Commits
1.5.2 ... 1.6

Author SHA1 Message Date
7d910d602e Fix maybe 2025-08-25 13:39:55 -07:00
ea9b393d7b Legacy save conversion [Untested but should work] 2025-08-25 13:30:48 -07:00
50eb3dc128 Fix the pos for exit button 2025-08-24 23:24:06 -07:00
b0f6d2bb3a More offset 2025-08-24 23:23:32 -07:00
ff1693cbf6 Redo social buttons 2025-08-24 23:23:21 -07:00
e8bd834c05 Finally remake texture for exit button 2025-08-24 23:18:54 -07:00
5b4d33634d Send and recieve entire savefile from server 2025-08-24 23:14:59 -07:00
eb968ce65e Fix silly bug 2025-08-24 22:26:54 -07:00
1c3096a4cd Use server response for message 2025-08-24 21:58:10 -07:00
9817635376 Replace X in icon marketplace upload section 2025-08-24 21:51:09 -07:00
04b0ee3201 Add reporting 2025-08-24 21:38:39 -07:00
ea42566556 Almost done with Chatroom Options 2025-08-24 19:31:51 -07:00
874a77eb62 Use updated version of rounded corners script 2025-08-24 16:29:42 -07:00
981170e785 Did not know it was offset by 2 pixels 2025-08-24 15:57:10 -07:00
b979ded215 Simplify that 2025-08-24 15:52:07 -07:00
ff7a5becb2 Convert chatroom response to use a custom type 2025-08-24 15:49:31 -07:00
d7a3f6dcb5 Start working on Chatroom Options Menu 2025-08-24 15:43:46 -07:00
b16aa75628 Fix chatroom weirdness on desktop 2025-08-24 15:23:10 -07:00
35e3ad3712 Fix restart button not being gray 2025-08-24 15:00:43 -07:00
c0e3105abb Improve texture quality on settings and sliders 2025-08-24 14:55:56 -07:00
d0f220264c Remove arrow textures 2025-08-24 14:55:44 -07:00
458e60de2f Completely remake mobile gameplayer buttons, and rever graphics renderer changes and just have linux on Vulkan instead 2025-08-24 14:21:35 -07:00
d3c898231f Build changes 2025-08-23 17:54:10 -07:00
b27be89351 WHY DOES THIS NEED TO CHANGE 2025-08-23 17:36:43 -07:00
2ea61246ad Bump version to 1.6 and rename android package to xyz.lncvrt.berrydash, and remove x86_64 support for android 2025-08-23 15:28:00 -07:00
888d30d6b3 Completely wipe savefile on logout 2025-08-23 14:58:47 -07:00
ddd582addb Remove data for when you login 2025-08-23 14:52:49 -07:00
29950dace9 Fix chatroom for mobile 2025-08-23 14:50:33 -07:00
62f4011341 Hover effect and make options button look better 2025-08-23 13:57:42 -07:00
1477b8e112 Show options button + background color per chat entry 2025-08-23 13:41:30 -07:00
b09ca19505 Bruh 2025-08-23 13:30:14 -07:00
12b458f732 Add options button to chatroom (not done) 2025-08-23 13:27:10 -07:00
b29b61a04f Update unity 2025-08-22 16:01:28 -07:00
230fdc5132 Re-add loading stuff that was removed temp 2025-08-20 19:36:13 -07:00
b912116539 Increment coins by 10 instead of 1 so getting coins is easier 2025-08-20 18:24:23 -07:00
3bd192e7ed Rename down button to be DownButton in inspector 2025-08-20 18:08:07 -07:00
cc5fef110f Down button to make going to latest message easier 2025-08-20 17:57:13 -07:00
46ebca303e Chatroom redesign 2025-08-20 17:31:08 -07:00
44c03d8a82 Update readme and remove comparison files 2025-08-20 14:59:35 -07:00
21e5a52f98 ANOTHER STUPID ISSUE 2025-08-20 14:18:58 -07:00
609a4bc014 Fix a stupid issue 2025-08-20 14:16:44 -07:00
6b3cbc809c Bruh 2025-08-20 14:13:34 -07:00
54b82937e5 Send marketplace & coin berry data to server (along with save) 2025-08-20 13:59:05 -07:00
aeadfc8cef Fix possible issues with requests 2025-08-20 13:52:22 -07:00
a11d375ec6 Oops 2025-08-20 13:26:35 -07:00
e38a37801b Add a custom key for if someone makes a mod of the game it won't clash with the main savefile 2025-08-20 13:25:18 -07:00
b9becd25a1 Unlink from unity cloud 2025-08-20 13:00:42 -07:00
72e6a6a731 Stats menu 2025-08-20 12:50:02 -07:00
aad7d5e1ea Preview the color when it's changed 2025-08-20 12:35:24 -07:00
4df226df89 Make marketplace icons show up in game 2025-08-20 12:24:48 -07:00
5895615e8d And also fix another issue because yes 2025-08-20 12:18:06 -07:00
676094457f Fix icons menu 2025-08-20 12:15:28 -07:00
583ac47e04 Should be done with making the icons menu work with marketplace 2025-08-19 22:23:24 -07:00
274a0ee972 Remove Twitter & Reddit from socials 2025-08-02 18:06:01 -07:00
1625576fb3 Redo all asset metadata 2025-08-02 17:59:47 -07:00
1ae58ca2d6 Add happybob icon 2025-07-30 01:24:47 -07:00
b40a3061f9 Get ready for icon marketplace selection in icons menu 2025-07-29 22:28:34 -07:00
8b04b4d552 Bazooka manager priority changes 2025-07-29 22:05:01 -07:00
2c543b6d98 Idk what I was doing 2025-07-29 21:30:43 -07:00
df76ee10d3 Format balance required on not enough coins popup 2025-07-29 21:18:44 -07:00
560dcf350e I did that wrong 2025-07-29 21:16:59 -07:00
99e4efcaf3 Coin Berry stuff 2025-07-29 21:12:21 -07:00
7d0bad955b Fixes to ensure menus dont break 2025-07-29 21:12:03 -07:00
4470db1708 Format with commas 2025-07-29 19:59:26 -07:00
0f414ab0ed Make X look better 2025-07-29 19:59:15 -07:00
37151a4996 Fix the marketplace not working in the game player
This took me 3 weeks to figure out, I hate everything
2025-07-29 19:36:43 -07:00
bae9ed9eac Remove a useless savefile entry 2025-07-16 22:09:23 -07:00
b997eb553e Add purchasing icons 2025-07-16 21:59:41 -07:00
90d5c2d8c2 Add more types, should be done for those I think 2025-07-16 21:31:18 -07:00
ce673da55b Add custom type for download icon, it will make my life easier when making this 2025-07-16 21:23:38 -07:00
414048e19f Idk what I was doing this is better 2025-07-16 21:14:52 -07:00
2b8e29b101 Fixes to download script 2025-07-16 21:11:37 -07:00
2c80fbdf2d Add balance text to download menu 2025-07-16 21:06:33 -07:00
553d05f269 Add coin berry to berry leaderboards 2025-07-16 19:43:39 -07:00
747e67dbdc Carlos 2025-07-15 22:42:53 -07:00
4bce440e31 Change copyright text 2025-07-15 12:10:46 -07:00
a3ee794647 Add coin sound effects 2025-07-15 00:38:23 -07:00
037bef7bcf Add copyright text 2025-07-15 00:34:47 -07:00
322995f1e1 Idek what I changed 2025-07-14 16:59:48 -07:00
47030a76a1 A bunch of tweaks 2025-07-14 16:55:26 -07:00
7d5f7ea7c6 Savefile change 2025-07-14 16:21:46 -07:00
83f11c7e6a Move status text on upload menu 2025-07-14 16:04:07 -07:00
55523be0a3 Fix input for bird name 2025-07-14 16:02:55 -07:00
7e1da4a1a6 Upload icon feature 2025-07-14 16:00:14 -07:00
60597456e9 Swap price & designer name places 2025-07-14 14:31:45 -07:00
166027526e Forgot again 2025-07-14 14:27:14 -07:00
d6fa7c7e17 Make back button consistant 2025-07-14 14:26:59 -07:00
121a1522ef Fix overlay issue 2025-07-14 14:01:06 -07:00
a412170630 Forgot to define this 2025-07-14 14:00:31 -07:00
d495ca8f3b Add back button 2025-07-14 13:59:58 -07:00
a642f92288 Improve markeplace scripts 2025-07-14 13:57:44 -07:00
fd32df4eb7 Set texture of bird in upload icon 2025-07-14 13:54:18 -07:00
8546d9a900 Add more to upload marketplace icon 2025-07-14 13:42:49 -07:00
6f65e46c1e Get further on icon marketplace I will work on it tmr 2025-07-13 22:30:58 -07:00
1c2889be13 Make this static 2025-07-13 22:25:24 -07:00
711077d611 Update inputsystem 2025-07-13 22:14:26 -07:00
d005345798 Add image util 2025-07-13 22:06:02 -07:00
8af34427e8 Bouncy Bouncy 2025-07-13 22:05:54 -07:00
ca0af09aac Check for username in send chatroom message 2025-07-13 12:01:55 -07:00
a915b2462a Make warnings disappear 2025-07-13 11:06:00 -07:00
6fed43351a Add library for file picker 2025-07-13 10:59:02 -07:00
a785db0a42 Add icon marketplace menu to build scene list 2025-07-13 10:44:01 -07:00
19aa264fc9 Resize if too big somehow 2025-07-13 10:43:46 -07:00
6caf0b24ff Start working on Icon Marketplace 2025-07-13 10:41:15 -07:00
87e76c0148 Change compression on some things 2025-07-13 10:36:38 -07:00
4496755eba Add a berry parent 2025-07-12 21:46:42 -07:00
8172372fa2 Fix messy code 2025-07-12 21:41:37 -07:00
86921e8a75 Add Coin Berry (doesn't do anything atm) 2025-07-12 21:31:11 -07:00
dd39e65fc9 Other account menu server rewrite changes 2025-07-12 21:13:51 -07:00
1e559ce97f Idk what this is 2025-07-12 20:19:58 -07:00
4274f5b205 Update chatroom script for server rewrite 2025-07-12 20:19:39 -07:00
87caca7722 Update unity 2025-07-12 19:25:57 -07:00
8bf10963d5 Update leaderboards script for server rewrite 2025-07-12 16:52:36 -07:00
70a0b0ea9a Fix again im stupid 2025-07-12 15:54:37 -07:00
d2dd22408a Fix account change username script 2025-07-12 15:47:33 -07:00
37f11aa7ae Update account change username script for server rewrite 2025-07-12 15:42:55 -07:00
6003ea3fb3 Fix beta version warning 2025-07-12 15:36:39 -07:00
78b4e5c7e8 Beta version warning 2025-07-12 15:35:47 -07:00
d245bb37c7 Update account change password script for server rewrite 2025-07-12 15:23:41 -07:00
3fd9b2d30c Fix account logged in panel using wrong status text updater 2025-07-12 15:23:07 -07:00
45d5abd622 Remove game crashing on encryption issue 2025-07-12 15:08:55 -07:00
95dfb4b1ea Fix save file issue 2025-07-12 15:00:52 -07:00
c35107cfc9 Make color panel UIs use one script instead of 3 2025-07-12 14:29:01 -07:00
2728738184 Rename BazookaSetting.cs to Types/SettingTypes.cs 2025-07-12 13:59:37 -07:00
fa4ba4e0e7 Fix menu music 2025-07-12 13:54:35 -07:00
ccc51bf99a Revamp color picker UI in setting and icons menu 2025-07-12 13:47:07 -07:00
36f65c3f5a Bazooka Manager is basically complete now (after 2+ weeks) and start working on server rewrite 2025-07-12 13:46:42 -07:00
599b0fa545 Log if there is no encryption keys 2025-07-08 22:11:02 -07:00
5e3be9293a Fix compile issues 2025-07-08 22:07:25 -07:00
47c7fc89e8 Fix latest version button not showing on scene reload 2025-07-06 16:37:26 -07:00
8c7210e33f Add ColorPickerUI script 2025-07-05 11:32:10 -07:00
4e95668675 Remove some webgl stuff
Browser support is being dropped
2025-07-01 22:53:58 -07:00
b1e479472f Format commas in attempt account 2025-07-01 22:52:34 -07:00
1f14ea0ca9 Add bazooka save file manager
Don't ask why the name is bazooka. I will bazooka you out of existance
if you ask.
2025-07-01 19:09:53 -07:00
1e459e5537 Fix the look of mobile buttons 2025-06-30 16:05:45 -07:00
825d6662ec Massive change 2025-06-30 16:01:46 -07:00
40556e5b20 Fix a null issue 2025-06-30 15:41:33 -07:00
663da562dd Update leaderboards menu 2025-06-30 15:35:22 -07:00
0c2483f249 Draggable UI improvements 2025-06-30 14:56:32 -07:00
2d5d4004b4 Fix the position of the alert 2025-06-30 14:47:34 -07:00
0347dac2d8 Tell the user why they can't send requests on self-built instance 2025-06-30 14:38:45 -07:00
68e61a9370 Update unity 2025-06-30 14:37:30 -07:00
d379143894 Improve slowberry texture 2025-06-27 12:06:36 -07:00
62c339f09a Fix being able to edit the ui when not paused 2025-06-25 13:36:12 -07:00
866661f32a Fix latest version button 2025-06-25 13:33:32 -07:00
9bb62c8736 Fix reset fps text pos 2025-06-25 01:01:52 -07:00
2aed4e416a Add draggable UI to game player 2025-06-25 00:58:26 -07:00
220 changed files with 36842 additions and 6208 deletions

View File

@@ -66,5 +66,5 @@
"explorer.fileNesting.patterns": { "explorer.fileNesting.patterns": {
"*.sln": "*.csproj" "*.sln": "*.csproj"
}, },
"dotnet.defaultSolution": "BerryDash-source.sln" "dotnet.defaultSolution": "BerryDash-Src.sln"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 058d6c29b98c7ab4dae45eace6564ac6 spriteID: 582cf12e79f32c528897751673246dfe
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -1,10 +1,10 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: e98c5b76ef4f7e64c9c95f5f6679475b guid: 95fcc20fbfe7c43a2a484251feb32a00
TextureImporter: TextureImporter:
internalIDToNameTable: internalIDToNameTable:
- first: - first:
213: -9009641426861971402 213: -8654162663755415972
second: Restart_0 second: CoinBerry_0
externalObjects: {} externalObjects: {}
serializedVersion: 13 serializedVersion: 13
mipmaps: mipmaps:
@@ -96,11 +96,24 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
- serializedVersion: 2 - serializedVersion: 2
name: Restart_0 name: CoinBerry_0
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
@@ -108,15 +121,15 @@ TextureImporter:
width: 128 width: 128
height: 128 height: 128
alignment: 0 alignment: 0
pivot: {x: 0, y: 0} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
customData: customData:
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: -1 tessellationDetail: -1
bones: [] bones: []
spriteID: 638af3e7bd257f280800000000000000 spriteID: c5ef866b8ec36e780800000000000000
internalID: -9009641426861971402 internalID: -8654162663755415972
vertices: [] vertices: []
indices: indices:
edges: [] edges: []
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: spriteID: 5889f8ff3094d3c87a48caa1595d473e
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:
@@ -135,7 +148,7 @@ TextureImporter:
spriteCustomMetadata: spriteCustomMetadata:
entries: [] entries: []
nameFileIdTable: nameFileIdTable:
Restart_0: -9009641426861971402 CoinBerry_0: -8654162663755415972
mipmapLimitGroupName: mipmapLimitGroupName:
pSDRemoveMatte: 0 pSDRemoveMatte: 0
userData: userData:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: c32e2cfec2fded64893728e6f5bf0e13 spriteID: e2cfd756699a4c97ebe0c90ef8317350
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 1b092a9264636594cab830586a26f9ff spriteID: a617069b7a799f84280b718ccbda17df
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 1886ff130a209c64f86cf70c119372e7 spriteID: 3d01500db5ec895f19951eb703e03dff
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -37,7 +37,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: 1 filterMode: 0
aniso: 1 aniso: 1
mipBias: 0 mipBias: 0
wrapU: 1 wrapU: 1
@@ -75,7 +75,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 textureFormat: -1
textureCompression: 1 textureCompression: 0
compressionQuality: 50 compressionQuality: 50
crunchedCompression: 0 crunchedCompression: 0
allowsAlphaSplitting: 0 allowsAlphaSplitting: 0
@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -129,12 +116,12 @@ TextureImporter:
name: SpeedyBerry_0 name: SpeedyBerry_0
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 7 x: 0
y: 3 y: 0
width: 114 width: 128
height: 122 height: 128
alignment: 0 alignment: 0
pivot: {x: 0, y: 0} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
customData: customData:
outline: [] outline: []
@@ -151,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: spriteID: 94927edae5d7197d39e12a6086e62802
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 3cf527c48b8f14246a225a6b11b2e9e3 spriteID: c8d7f00a1dafe33cc922032b4887a485
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

File diff suppressed because one or more lines are too long

View File

@@ -9,7 +9,7 @@ TrueTypeFontImporter:
characterPadding: 1 characterPadding: 1
includeFontData: 1 includeFontData: 1
fontNames: fontNames:
- Font Awesome 6 Brands - Font Awesome 7 Brands
fallbackFontReferences: [] fallbackFontReferences: []
customCharacters: customCharacters:
fontRenderingMode: 0 fontRenderingMode: 0

View File

@@ -1 +1 @@
f167,f099,f1a1,f392 f167,f392

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2392e4822ecf2c5e19a145850cebbd9a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: 5960872f8c2f3d8d5943276148cd6eb0
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Font Awesome 7 Free
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1 @@
f111,f024,f0c5

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d2478a5ac0a503084b9417ec06acc54c
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0b50c03e48f9f20d69553c78bfe39a89
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: 70c3626d6481a080ca8a0f3ee7018cd8
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Font Awesome 7 Free
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1 @@
f309,f111,f141,f04c,f0e2,f077,f061,f060,f0c8,f00c,f00d,f303,f2ed

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4c3c9ea67fe29723c955aa457d4fc299
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: 4fd546dd0900395408d2de20f5025882 guid: 4fd546dd0900395408d2de20f5025882
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 11400000 mainObjectFileID: 0
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:

View File

@@ -37,7 +37,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
textureSettings: textureSettings:
serializedVersion: 2 serializedVersion: 2
filterMode: 1 filterMode: 2
aniso: 1 aniso: 1
mipBias: 0 mipBias: 0
wrapU: 1 wrapU: 1
@@ -75,7 +75,7 @@ TextureImporter:
maxTextureSize: 2048 maxTextureSize: 2048
resizeAlgorithm: 0 resizeAlgorithm: 0
textureFormat: -1 textureFormat: -1
textureCompression: 1 textureCompression: 0
compressionQuality: 50 compressionQuality: 50
crunchedCompression: 0 crunchedCompression: 0
allowsAlphaSplitting: 0 allowsAlphaSplitting: 0
@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -103,10 +116,10 @@ TextureImporter:
name: Icon_0 name: Icon_0
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 55 x: 0
y: 0 y: 0
width: 938 width: 2048
height: 801 height: 2048
alignment: 0 alignment: 0
pivot: {x: 0, y: 0} pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 1a3c5f677ec78444b8d1235d7ab8a3f7 spriteID: 288a5f3e995f52e01a33ba7f6f84c879
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 5972948e32a810e449f9b8468ddbdfb2 spriteID: d454f9ce1d2e85843941e29c21dce980
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 41ef996ca8dff9147b6cc4ef891155d1 spriteID: 5c69ba122765b3007b15643254c230a0
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,10 +1,10 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 7d3c7bb9d61501a439cd07c977a039e8 guid: f755766365ccb9522b11a8c3ad5ca4ad
TextureImporter: TextureImporter:
internalIDToNameTable: internalIDToNameTable:
- first: - first:
213: -4346244404228752641 213: -2782012579205326331
second: Arrow_0 second: bird_-4_0
externalObjects: {} externalObjects: {}
serializedVersion: 13 serializedVersion: 13
mipmaps: mipmaps:
@@ -96,11 +96,24 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
- serializedVersion: 2 - serializedVersion: 2
name: Arrow_0 name: bird_-4_0
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
@@ -108,15 +121,15 @@ TextureImporter:
width: 128 width: 128
height: 128 height: 128
alignment: 0 alignment: 0
pivot: {x: 0, y: 0} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
customData: customData:
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: -1 tessellationDetail: -1
bones: [] bones: []
spriteID: ffa7ae2edb90fa3c0800000000000000 spriteID: 50a5cc78c4e4469d0800000000000000
internalID: -4346244404228752641 internalID: -2782012579205326331
vertices: [] vertices: []
indices: indices:
edges: [] edges: []
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: spriteID: 8fe06886b08afa4a0803a236bdb16bc0
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:
@@ -135,7 +148,7 @@ TextureImporter:
spriteCustomMetadata: spriteCustomMetadata:
entries: [] entries: []
nameFileIdTable: nameFileIdTable:
Arrow_0: -4346244404228752641 bird_-4_0: -2782012579205326331
mipmapLimitGroupName: mipmapLimitGroupName:
pSDRemoveMatte: 0 pSDRemoveMatte: 0
userData: userData:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 1f27ff5612e47f64c9801259458129f8 spriteID: cce7d9c73147b925e8d83bb3c143e60e
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 592621bb0c071254c957a1dcb2ce7fcb spriteID: 54f9d53e2bbe3e22d85b1524b5567b89
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 2dc58ad3027f0f64db4d84eca4705b1c spriteID: 2ed72778f248cc987a31005af0d8dc27
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: ca1363aca3c8eca42955293db8a2a518 spriteID: e694bcd5c674e66958fc88a539f33579
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 464dfad19359f774eaf326e9a1e94d82 spriteID: 3aeff4616d270d54f83bad4fdd74b5ed
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: ed8b3233aced9cc44bfb963fffeb7920 spriteID: 6b167c2e396a31e3099d7bf9b97e4d52
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 16d20612291e04d4cbb941bff3fa9999 spriteID: 69ba17ba98b136972bcaba384d5f5ab6
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 76b52cce0af4a3b4fa5c752287557754 spriteID: 244f93fa0561eed76bd4390798188808
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: aed314ff1328ef94d813383d941e062c spriteID: 40c19dd521113be118a5646f2d38958d
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -151,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: ebad59df60033f14bb58314f4fe69b07 spriteID: e713d96eb541bfecdbe39c7883265643
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -151,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 9c3397a5cecb5024494b568dbb7052d1 spriteID: f5cf9b4d400bc39d9a6f82ceabc9bbd5
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -151,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 4dd19266b6924ff40a60c61f1e1199cd spriteID: 205c8c7bdfdd148e5a5dbed4f813cd5b
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -151,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: b0575dcff12ae524787b06a71cc8d460 spriteID: f921c4b7a4d2f7a4f8894bb3d0f5f594
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -109,19 +109,6 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -151,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: c886b578da5ca0148ad2d8994a3b098f spriteID: 2f3c96a3567fd8e24a2344b373611d94
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: d6126c44b32f13d479b54535da20dd70 spriteID: 30f9de3bbc055a00b8bcd3e7e12a6fa0
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: e01ae72fd3b903a459fa80f0047da4c3 spriteID: cd687a20daacc9d04bb6fb5a836936cc
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 21c7592435580544e88a23db95f50c8c spriteID: 7506afc7d630e358082715da9bdffb23
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: a5372c8635766a940a492d079e8632c3 spriteID: fc256cdcb91529078a6830884a485499
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: ad3d1a108ca8ef846b3e3318230f66f9 spriteID: c9de11ab91816b48ea5be0e23863b32c
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: a89f99845aba0fc46af7b7d9e48df6dd spriteID: 28b5179fb99ae809f8b122060fa3d3bb
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: ac584cd446188b0438e202e7e23b61ec spriteID: 963cb012dce9644debed7ace8ea61865
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -96,6 +96,19 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 6cffe0628cbc1944ea3f117abddca990 spriteID: a3c5592658ccdf958a52c9d02457b1ba
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: dc198920b982b344ca7225d9cf15e881 guid: 5aa626694356916518efd27680cc1467
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,10 +1,10 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 9c88e2144c204354c85bc428f0ce5389 guid: 727b3f3f8ac5e5e649879866189d0de1
TextureImporter: TextureImporter:
internalIDToNameTable: internalIDToNameTable:
- first: - first:
213: 5000927251509650613 213: -3338749442709606003
second: Back_0 second: Coin_0
externalObjects: {} externalObjects: {}
serializedVersion: 13 serializedVersion: 13
mipmaps: mipmaps:
@@ -96,11 +96,24 @@ TextureImporter:
ignorePlatformSupport: 0 ignorePlatformSupport: 0
androidETC2FallbackOverride: 0 androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0 forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet: spriteSheet:
serializedVersion: 2 serializedVersion: 2
sprites: sprites:
- serializedVersion: 2 - serializedVersion: 2
name: Back_0 name: Coin_0
rect: rect:
serializedVersion: 2 serializedVersion: 2
x: 0 x: 0
@@ -108,15 +121,15 @@ TextureImporter:
width: 128 width: 128
height: 128 height: 128
alignment: 0 alignment: 0
pivot: {x: 0, y: 0} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
customData: customData:
outline: [] outline: []
physicsShape: [] physicsShape: []
tessellationDetail: -1 tessellationDetail: -1
bones: [] bones: []
spriteID: 5b4adc5d6dcd66540800000000000000 spriteID: d81b24142116aa1d0800000000000000
internalID: 5000927251509650613 internalID: -3338749442709606003
vertices: [] vertices: []
indices: indices:
edges: [] edges: []
@@ -125,7 +138,7 @@ TextureImporter:
customData: customData:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: spriteID: bab5767e2c0c5c1a58cb976df87e251e
internalID: 0 internalID: 0
vertices: [] vertices: []
indices: indices:
@@ -135,7 +148,7 @@ TextureImporter:
spriteCustomMetadata: spriteCustomMetadata:
entries: [] entries: []
nameFileIdTable: nameFileIdTable:
Back_0: 5000927251509650613 Coin_0: -3338749442709606003
mipmapLimitGroupName: mipmapLimitGroupName:
pSDRemoveMatte: 0 pSDRemoveMatte: 0
userData: userData:

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 7665bf9f58fc7e116833612b88bd5638
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 2
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: dedee00ae858abf8cbb153c89a821212
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 2
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

View File

@@ -5,7 +5,7 @@ AudioImporter:
serializedVersion: 8 serializedVersion: 8
defaultSettings: defaultSettings:
serializedVersion: 2 serializedVersion: 2
loadType: 0 loadType: 2
sampleRateSetting: 0 sampleRateSetting: 0
sampleRateOverride: 44100 sampleRateOverride: 44100
compressionFormat: 1 compressionFormat: 1

View File

@@ -4147,6 +4147,50 @@ MonoBehaviour:
m_Spacing: {x: 0, y: 45} m_Spacing: {x: 0, y: 45}
m_Constraint: 0 m_Constraint: 0
m_ConstraintCount: 2 m_ConstraintCount: 2
--- !u!1 &667608825
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 667608827}
- component: {fileID: 667608826}
m_Layer: 0
m_Name: BazookaManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &667608826
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 667608825}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &667608827
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 667608825}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &682940900 --- !u!1 &682940900
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -12033,7 +12077,7 @@ Transform:
m_GameObject: {fileID: 1724546899} m_GameObject: {fileID: 1724546899}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -16055,5 +16099,6 @@ SceneRoots:
m_Roots: m_Roots:
- {fileID: 720281946} - {fileID: 720281946}
- {fileID: 1724546901} - {fileID: 1724546901}
- {fileID: 667608827}
- {fileID: 1094007101} - {fileID: 1094007101}
- {fileID: 682940903} - {fileID: 682940903}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 88bad8620907810c097277153f83e44c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -1055,11 +1055,11 @@ RectTransform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 222049256} - {fileID: 222049256}
- {fileID: 1222881555}
- {fileID: 13520179} - {fileID: 13520179}
- {fileID: 1222881555}
- {fileID: 992753024} - {fileID: 992753024}
- {fileID: 203659856}
- {fileID: 287845921} - {fileID: 287845921}
- {fileID: 203659856}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
@@ -1538,6 +1538,50 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 682674804} m_GameObject: {fileID: 682674804}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &863352644
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 863352646}
- component: {fileID: 863352645}
m_Layer: 0
m_Name: BazookaManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &863352645
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 863352644}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &863352646
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 863352644}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &892424263 --- !u!1 &892424263
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -2872,7 +2916,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_text: 'Score: ' m_text: 'Berries: '
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, type: 2} m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
@@ -3388,7 +3432,7 @@ Transform:
m_GameObject: {fileID: 1711730330} m_GameObject: {fileID: 1711730330}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -4123,6 +4167,9 @@ MonoBehaviour:
- m_Text: Speedy Berry - m_Text: Speedy Berry
m_Image: {fileID: -2055337169336843231, guid: 59235d26eca651e63a56cb40b86e7afb, type: 3} m_Image: {fileID: -2055337169336843231, guid: 59235d26eca651e63a56cb40b86e7afb, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1} m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_Text: Coin Berry
m_Image: {fileID: -8654162663755415972, guid: 95fcc20fbfe7c43a2a484251feb32a00, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
@@ -4862,5 +4909,6 @@ SceneRoots:
- {fileID: 1455063616} - {fileID: 1455063616}
- {fileID: 1711730332} - {fileID: 1711730332}
- {fileID: 1991415992} - {fileID: 1991415992}
- {fileID: 863352646}
- {fileID: 382688262} - {fileID: 382688262}
- {fileID: 1820585371} - {fileID: 1820585371}

View File

@@ -752,7 +752,7 @@ Transform:
m_GameObject: {fileID: 842325108} m_GameObject: {fileID: 842325108}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -0.52066, y: -3.66337, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
@@ -1151,11 +1151,56 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1201615240} m_GameObject: {fileID: 1201615240}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1547097372
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1547097374}
- component: {fileID: 1547097373}
m_Layer: 0
m_Name: BazookaManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1547097373
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1547097372}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a0df255fc60e6e3c88ebb94d2d88db4d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &1547097374
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1547097372}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_Roots: m_Roots:
- {fileID: 705564545} - {fileID: 705564545}
- {fileID: 842325110} - {fileID: 842325110}
- {fileID: 1547097374}
- {fileID: 734849810} - {fileID: 734849810}
- {fileID: 759356942} - {fileID: 759356942}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7fc772dfc5233442ebeceac3db878727
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,4 +1,4 @@
using System.Text.RegularExpressions; using Newtonsoft.Json.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
@@ -29,63 +29,68 @@ public class AccountChangePassword : MonoBehaviour
async void ChangePassword() async void ChangePassword()
{ {
changePasswordBackButton.interactable = false;
if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text) if (changePasswordNewPasswordInput.text != changePasswordRetypeNewPasswordInput.text)
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red); changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Passwords do not match", Color.red);
return; return;
} }
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("inputPassword", changePasswordCurrentPasswordInput.text); dataForm.AddField("oldpassword", changePasswordCurrentPasswordInput.text);
dataForm.AddField("inputNewPassword", changePasswordNewPasswordInput.text); dataForm.AddField("newpassword", changePasswordNewPasswordInput.text);
dataForm.AddField("session", PlayerPrefs.GetString("gameSession")); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("userName", PlayerPrefs.GetString("userName")); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountPassword.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountPassword.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red); changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
switch (response) if (response == "-999")
{ {
case "-999": changePasswordBackButton.interactable = true;
AccountHandler.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(changePasswordStatusText, "Server error while fetching data", Color.red);
break; return;
case "-998":
AccountHandler.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red);
break;
case "-997":
AccountHandler.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red);
break;
case "-1":
AccountHandler.UpdateStatusText(changePasswordStatusText, "New Password is too short or too long", Color.red);
break;
case "-2":
AccountHandler.UpdateStatusText(changePasswordStatusText, "Password must have 8 characters, one number and one letter", Color.red);
break;
case "-3":
AccountHandler.UpdateStatusText(changePasswordStatusText, "Incorrect current password", Color.red);
break;
case "-4":
AccountHandler.UpdateStatusText(changePasswordStatusText, "Failed to find info about your user (refresh login?)", Color.red);
break;
case "-5":
AccountHandler.UpdateStatusText(changePasswordStatusText, "New password cannot be the same as your old password", Color.red);
break;
} }
if (Regex.IsMatch(response, "^[a-zA-Z0-9]{512}$")) else if (response == "-998")
{ {
PlayerPrefs.SetString("gameSession", response); changePasswordBackButton.interactable = true;
AccountHandler.instance.SwitchPanel(0); Tools.UpdateStatusText(changePasswordStatusText, "Client version too outdated to access servers", Color.red);
AccountHandler.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Password changed successfully", Color.green); return;
}
else if (response == "-997")
{
changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Encryption/decryption issues", Color.red);
return;
}
else if (response == "-996")
{
changePasswordBackButton.interactable = true;
Tools.UpdateStatusText(changePasswordStatusText, "Can't send requests on self-built instance", Color.red);
return;
} }
else else
{ {
AccountHandler.UpdateStatusText(changePasswordStatusText, "Unknown server response " + response, Color.red); var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
BazookaManager.Instance.SetAccountSession((string)jsonResponse["token"]);
AccountHandler.instance.SwitchPanel(0);
Tools.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Password changed successfully", Color.green);
}
else
{
Tools.UpdateStatusText(changePasswordStatusText, (string)jsonResponse["message"], Color.red);
}
} }
changePasswordBackButton.interactable = true;
} }
} }

View File

@@ -1,3 +1,4 @@
using Newtonsoft.Json.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
@@ -26,51 +27,62 @@ public class AccountChangeUsername : MonoBehaviour
async void ChangeUsername() async void ChangeUsername()
{ {
changeUsernameBackButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("inputUserName", changeUsernameCurrentUsernameInput.text); dataForm.AddField("oldusername", changeUsernameCurrentUsernameInput.text);
dataForm.AddField("inputNewUserName", changeUsernameNewUsernameInput.text); dataForm.AddField("newusername", changeUsernameNewUsernameInput.text);
dataForm.AddField("session", PlayerPrefs.GetString("gameSession")); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("userName", PlayerPrefs.GetString("userName")); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountUsername.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "changeAccountUsername.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red); changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
switch (response) if (response == "-999")
{ {
case "-999": changeUsernameBackButton.interactable = true;
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(changeUsernameStatusText, "Server error while fetching data", Color.red);
break; return;
case "-998":
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red);
break;
case "-997":
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red);
break;
case "1":
PlayerPrefs.SetString("userName", changeUsernameNewUsernameInput.text);
AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Username changed successfully", Color.green);
break;
case "-1":
AccountHandler.UpdateStatusText(changeUsernameStatusText, "New Username must be 3-16 characters, letters and numbers only", Color.red);
break;
case "-2":
AccountHandler.UpdateStatusText(changeUsernameStatusText, "New username already exists", Color.red);
break;
case "-3":
AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Failed to find info about your user (refresh login?)", Color.red);
break;
default:
AccountHandler.UpdateStatusText(changeUsernameStatusText, "Unknown server response", Color.red);
break;
} }
else if (response == "-998")
{
changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Client version too outdated to access servers", Color.red);
return;
}
else if (response == "-997")
{
changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Encryption/decryption issues", Color.red);
return;
}
else if (response == "-996")
{
changeUsernameBackButton.interactable = true;
Tools.UpdateStatusText(changeUsernameStatusText, "Can't send requests on self-built instance", Color.red);
return;
}
else
{
var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
BazookaManager.Instance.SetAccountName(changeUsernameNewUsernameInput.text);
AccountHandler.instance.SwitchPanel(0);
Tools.UpdateStatusText(AccountHandler.instance.accountLoggedIn.loggedInText, "Username changed successfully", Color.green);
}
else
{
Tools.UpdateStatusText(changeUsernameStatusText, (string)jsonResponse["message"], Color.red);
}
}
changeUsernameBackButton.interactable = true;
} }
} }

View File

@@ -1,4 +1,3 @@
using TMPro;
using UnityEngine; using UnityEngine;
public class AccountHandler : MonoBehaviour public class AccountHandler : MonoBehaviour
@@ -19,7 +18,7 @@ public class AccountHandler : MonoBehaviour
void Start() void Start()
{ {
if (PlayerPrefs.HasKey("gameSession") && PlayerPrefs.HasKey("userName") && PlayerPrefs.HasKey("userId")) if (BazookaManager.Instance.GetAccountID() != null && BazookaManager.Instance.GetAccountName() != null && BazookaManager.Instance.GetAccountSession() != null)
{ {
SwitchPanel(0); SwitchPanel(0);
} }
@@ -98,10 +97,4 @@ public class AccountHandler : MonoBehaviour
break; break;
} }
} }
public static void UpdateStatusText(TMP_Text statusText, string message, Color color)
{
statusText.text = message;
statusText.color = color;
}
} }

View File

@@ -1,3 +1,7 @@
using System;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
@@ -23,8 +27,9 @@ public class AccountLoggedIn : MonoBehaviour
loggedInSaveButton.onClick.AddListener(() => SaveAccount()); loggedInSaveButton.onClick.AddListener(() => SaveAccount());
loggedInLoadButton.onClick.AddListener(() => LoadAccount()); loggedInLoadButton.onClick.AddListener(() => LoadAccount());
loggedInRefreshLoginButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(6)); loggedInRefreshLoginButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(6));
loggedInLogoutButton.onClick.AddListener(() => { loggedInLogoutButton.onClick.AddListener(() =>
accountLoggedOut.clearValues = true; {
BazookaManager.Instance.ResetSave();
AccountHandler.instance.SwitchPanel(1); AccountHandler.instance.SwitchPanel(1);
}); });
loggedInBackButton.onClick.AddListener(async () => await SceneManager.LoadSceneAsync("MainMenu")); loggedInBackButton.onClick.AddListener(async () => await SceneManager.LoadSceneAsync("MainMenu"));
@@ -34,123 +39,150 @@ public class AccountLoggedIn : MonoBehaviour
{ {
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInLoadButton.interactable = true; loggedInLoadButton.interactable = true;
loggedInText.text = "Logged in as: " + PlayerPrefs.GetString("userName"); Tools.UpdateStatusText(loggedInText, "Logged in as: " + BazookaManager.Instance.GetAccountName(), Color.white);
} }
async void SaveAccount() async void SaveAccount()
{ {
loggedInLoadButton.interactable = false; loggedInLoadButton.interactable = false;
loggedInSaveButton.interactable = false; loggedInSaveButton.interactable = false;
loggedInBackButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("userName", PlayerPrefs.GetString("userName", "")); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
dataForm.AddField("gameSession", PlayerPrefs.GetString("gameSession", "")); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("highScore", PlayerPrefs.GetString("HighScoreV2", "0")); dataForm.AddField("saveData", Convert.ToBase64String(Encoding.UTF8.GetBytes(BazookaManager.Instance.saveFile.ToString(Formatting.None))));
dataForm.AddField("icon", PlayerPrefs.GetInt("icon", 1).ToString()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "saveAccount.php", dataForm.form);
dataForm.AddField("overlay", PlayerPrefs.GetInt("overlay", 0).ToString());
dataForm.AddField("totalNormalBerries", PlayerPrefs.GetString("TotalNormalBerries", "0"));
dataForm.AddField("totalPoisonBerries", PlayerPrefs.GetString("TotalPoisonBerries", "0"));
dataForm.AddField("totalSlowBerries", PlayerPrefs.GetString("TotalSlowBerries", "0"));
dataForm.AddField("totalUltraBerries", PlayerPrefs.GetString("TotalUltraBerries", "0"));
dataForm.AddField("totalSpeedyBerries", PlayerPrefs.GetString("TotalSpeedyBerries", "0"));
dataForm.AddField("totalAttempts", PlayerPrefs.GetString("TotalAttempts", "0"));
dataForm.AddField("birdR", PlayerPrefs.GetString("BirdColor", "255;255;255").Split(';')[0]);
dataForm.AddField("birdG", PlayerPrefs.GetString("BirdColor", "255;255;255").Split(';')[1]);
dataForm.AddField("birdB", PlayerPrefs.GetString("BirdColor", "255;255;255").Split(';')[2]);
dataForm.AddField("overlayR", PlayerPrefs.GetString("OverlayColor", "255;255;255").Split(';')[0]);
dataForm.AddField("overlayG", PlayerPrefs.GetString("OverlayColor", "255;255;255").Split(';')[1]);
dataForm.AddField("overlayB", PlayerPrefs.GetString("OverlayColor", "255;255;255").Split(';')[2]);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "saveAccount.php", dataForm.GetWWWForm());
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
switch (response) if (response == "-999")
{ {
case "-999": loggedInLoadButton.interactable = true;
AccountHandler.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); loggedInSaveButton.interactable = true;
break; loggedInBackButton.interactable = true;
case "-998": Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red);
AccountHandler.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red); return;
break; }
case "-997": else if (response == "-998")
AccountHandler.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); {
break; loggedInLoadButton.interactable = true;
case "1": loggedInSaveButton.interactable = true;
AccountHandler.UpdateStatusText(loggedInText, "Synced account", Color.green); loggedInBackButton.interactable = true;
break; Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red);
case "-1": return;
AccountHandler.UpdateStatusText(loggedInText, "Failed to find info about your user (refresh login?)", Color.red); }
break; else if (response == "-997")
default: {
AccountHandler.UpdateStatusText(loggedInText, "Unknown server response", Color.red); loggedInLoadButton.interactable = true;
break; loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red);
return;
}
else if (response == "-996")
{
loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Can't send requests on self-built instance", Color.red);
return;
}
else
{
var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
Tools.UpdateStatusText(loggedInText, "Synced account", Color.green);
}
else
{
Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red);
}
} }
loggedInLoadButton.interactable = true; loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
} }
async void LoadAccount() async void LoadAccount()
{ {
loggedInLoadButton.interactable = false; loggedInLoadButton.interactable = false;
loggedInSaveButton.interactable = false; loggedInSaveButton.interactable = false;
loggedInBackButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("userName", PlayerPrefs.GetString("userName", "")); dataForm.AddField("token", BazookaManager.Instance.GetAccountSession());
dataForm.AddField("gameSession", PlayerPrefs.GetString("gameSession", "")); dataForm.AddField("username", BazookaManager.Instance.GetAccountName());
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loadAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loadAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red); loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
Tools.UpdateStatusText(loggedInText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
switch (response) if (response == "-999")
{ {
case "-999": loggedInLoadButton.interactable = true;
AccountHandler.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red); loggedInSaveButton.interactable = true;
break; loggedInBackButton.interactable = true;
case "-998": Tools.UpdateStatusText(loggedInText, "Server error while fetching data", Color.red);
AccountHandler.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red); return;
break; }
case "-997": else if (response == "-998")
AccountHandler.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red); {
break; loggedInLoadButton.interactable = true;
case "-1": loggedInSaveButton.interactable = true;
AccountHandler.UpdateStatusText(loggedInText, "Failed to find info about your user (refresh login?)", Color.red); loggedInBackButton.interactable = true;
break; Tools.UpdateStatusText(loggedInText, "Client version too outdated to access servers", Color.red);
default: return;
var split = response.Split(":"); }
if (split[0] == "1") else if (response == "-997")
{ {
PlayerPrefs.SetString("HighScoreV2", split[1]); loggedInLoadButton.interactable = true;
PlayerPrefs.SetInt("icon", int.Parse(split[2])); loggedInSaveButton.interactable = true;
PlayerPrefs.SetInt("overlay", int.Parse(split[3])); loggedInBackButton.interactable = true;
PlayerPrefs.SetString("TotalNormalBerries", split[4]); Tools.UpdateStatusText(loggedInText, "Encryption/decryption issues", Color.red);
PlayerPrefs.SetString("TotalPoisonBerries", split[5]); return;
PlayerPrefs.SetString("TotalSlowBerries", split[6]); }
PlayerPrefs.SetString("TotalUltraBerries", split[7]); else if (response == "-996")
PlayerPrefs.SetString("TotalSpeedyBerries", split[8]); {
PlayerPrefs.SetString("TotalAttempts", split[9]); loggedInLoadButton.interactable = true;
PlayerPrefs.SetString("BirdColor", $"{split[10]};{split[11]};{split[12]}"); loggedInSaveButton.interactable = true;
PlayerPrefs.SetString("OverlayColor", $"{split[13]};{split[14]};{split[15]}"); loggedInBackButton.interactable = true;
AccountHandler.UpdateStatusText(loggedInText, "Loaded account data", Color.green); Tools.UpdateStatusText(loggedInText, "Can't send requests on self-built instance", Color.red);
} return;
else }
{ else
AccountHandler.UpdateStatusText(loggedInText, "Unknown server response", Color.red); {
} var jsonResponse = JObject.Parse(response);
break; if ((bool)jsonResponse["success"])
{
BazookaManager.Instance.saveFile = JObject.FromObject(jsonResponse["data"]);
Tools.UpdateStatusText(loggedInText, "Loaded account data", Color.green);
}
else
{
Tools.UpdateStatusText(loggedInText, (string)jsonResponse["message"], Color.red);
}
} }
loggedInLoadButton.interactable = true; loggedInLoadButton.interactable = true;
loggedInSaveButton.interactable = true; loggedInSaveButton.interactable = true;
loggedInBackButton.interactable = true;
} }
} }

View File

@@ -7,7 +7,6 @@ public class AccountLoggedOut : MonoBehaviour
public Button loggedOutLoginButton; public Button loggedOutLoginButton;
public Button loggedOutRegisterButton; public Button loggedOutRegisterButton;
public Button loggedOutBackButton; public Button loggedOutBackButton;
public bool clearValues = false;
void Awake() void Awake()
{ {
@@ -15,26 +14,4 @@ public class AccountLoggedOut : MonoBehaviour
loggedOutRegisterButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(3)); loggedOutRegisterButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(3));
loggedOutBackButton.onClick.AddListener(async () => await SceneManager.LoadSceneAsync("MainMenu")); loggedOutBackButton.onClick.AddListener(async () => await SceneManager.LoadSceneAsync("MainMenu"));
} }
}
void OnEnable()
{
if (clearValues)
{
PlayerPrefs.DeleteKey("gameSession");
PlayerPrefs.DeleteKey("userName");
PlayerPrefs.DeleteKey("userId");
PlayerPrefs.SetString("HighScoreV2", "0");
PlayerPrefs.SetInt("icon", 1);
PlayerPrefs.SetInt("overlay", 0);
PlayerPrefs.DeleteKey("TotalNormalBerries");
PlayerPrefs.DeleteKey("TotalPoisonBerries");
PlayerPrefs.DeleteKey("TotalSlowBerries");
PlayerPrefs.DeleteKey("TotalUltraBerries");
PlayerPrefs.DeleteKey("TotalSpeedyBerries");
PlayerPrefs.DeleteKey("TotalAttempts");
PlayerPrefs.DeleteKey("BirdColor");
PlayerPrefs.DeleteKey("OverlayColor");
clearValues = false;
}
}
}

View File

@@ -1,4 +1,6 @@
using System.Numerics; using System.Numerics;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
@@ -27,70 +29,68 @@ public class AccountLogin : MonoBehaviour
async void SubmitLogin() async void SubmitLogin()
{ {
loginBackButton.interactable = false;
if (loginUsernameInput.text == string.Empty || loginPasswordInput.text == string.Empty)
{
Tools.UpdateStatusText(loginPanelStatusText, "All input fields must be filled", Color.red);
return;
}
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("username", loginUsernameInput.text); dataForm.AddField("username", loginUsernameInput.text);
dataForm.AddField("password", loginPasswordInput.text); dataForm.AddField("password", loginPasswordInput.text);
dataForm.AddField("currentHighScore", PlayerPrefs.GetString("HighScoreV2", "0")); dataForm.AddField("currentHighScore", BazookaManager.Instance.GetGameStoreHighScore().ToString());
dataForm.AddField("loginType", "0"); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.form);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.GetWWWForm());
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red); loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red); loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red); loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red); loginBackButton.interactable = true;
Tools.UpdateStatusText(loginPanelStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-1") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Incorrect username or password", Color.red); loginBackButton.interactable = true;
} Tools.UpdateStatusText(loginPanelStatusText, "Can't send requests on self-built instance", Color.red);
else if (response.Split(":")[0] == "1") return;
{
string[] array = response.Split(':');
string session = array[1];
string userName = array[2];
int userId = int.Parse(array[3]);
BigInteger highScore = BigInteger.Parse(array[4]);
int iconId = int.Parse(array[5]);
int overlayId = int.Parse(array[6]);
PlayerPrefs.SetString("gameSession", session);
PlayerPrefs.SetString("userName", userName);
PlayerPrefs.SetInt("userId", userId);
PlayerPrefs.SetString("HighScoreV2", highScore.ToString());
PlayerPrefs.SetInt("icon", iconId);
PlayerPrefs.SetInt("overlay", overlayId);
PlayerPrefs.SetString("TotalNormalBerries", array[7]);
PlayerPrefs.SetString("TotalPoisonBerries", array[8]);
PlayerPrefs.SetString("TotalSlowBerries", array[9]);
PlayerPrefs.SetString("TotalUltraBerries", array[10]);
PlayerPrefs.SetString("TotalSpeedyBerries", array[11]);
PlayerPrefs.SetString("TotalAttempts", array[12]);
PlayerPrefs.SetString("BirdColor", $"{array[13]};{array[14]};{array[15]}");
PlayerPrefs.SetString("OverlayColor", $"{array[16]};{array[17]};{array[18]}");
AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(loginPanelStatusText, "", Color.red);
} }
else else
{ {
AccountHandler.UpdateStatusText(loginPanelStatusText, "Unknown server response", Color.red); var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
BazookaManager.Instance.SetAccountSession((string)jsonResponse["data"]["session"]);
BazookaManager.Instance.SetAccountName((string)jsonResponse["data"]["username"]);
BazookaManager.Instance.SetAccountID(BigInteger.Parse((string)jsonResponse["data"]["userid"]));
AccountHandler.instance.SwitchPanel(0);
Tools.UpdateStatusText(loginPanelStatusText, "", Color.red);
}
else
{
Tools.UpdateStatusText(loginPanelStatusText, (string)jsonResponse["message"], Color.red);
}
} }
loginBackButton.interactable = true;
} }
} }

View File

@@ -1,3 +1,5 @@
using System.Numerics;
using Newtonsoft.Json.Linq;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
@@ -25,55 +27,62 @@ public class AccountRefreshLogin : MonoBehaviour
async void RefreshLogin() async void RefreshLogin()
{ {
refreshLoginBackButton.interactable = false;
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("username", refreshLoginUsernameInput.text); dataForm.AddField("username", refreshLoginUsernameInput.text);
dataForm.AddField("password", refreshLoginPasswordInput.text); dataForm.AddField("password", refreshLoginPasswordInput.text);
dataForm.AddField("loginType", "1"); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.form);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "loginAccount.php", dataForm.GetWWWForm());
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Failed to make HTTP request", Color.red); refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
if (response == "-999") if (response == "-999")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red); refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Server error while fetching data", Color.red);
return; return;
} }
else if (response == "-998") else if (response == "-998")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red); refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Client version too outdated to access servers", Color.red);
return; return;
} }
else if (response == "-997") else if (response == "-997")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red); refreshLoginBackButton.interactable = true;
Tools.UpdateStatusText(refreshLoginStatusText, "Encryption/decryption issues", Color.red);
return; return;
} }
else if (response == "-1") else if (response == "-996")
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Incorrect username or password", Color.red); refreshLoginBackButton.interactable = true;
} Tools.UpdateStatusText(refreshLoginStatusText, "Can't send requests on self-built instance", Color.red);
else if (response.Split(":")[0] == "1") return;
{
string[] array = response.Split(':');
string session = array[1];
string userName = array[2];
int userId = int.Parse(array[3]);
PlayerPrefs.SetString("gameSession", session);
PlayerPrefs.SetString("userName", userName);
PlayerPrefs.SetInt("userId", userId);
AccountHandler.instance.SwitchPanel(0);
AccountHandler.UpdateStatusText(refreshLoginStatusText, "", Color.red);
} }
else else
{ {
AccountHandler.UpdateStatusText(refreshLoginStatusText, "Unknown server response", Color.red); var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
BazookaManager.Instance.SetAccountSession((string)jsonResponse["data"]["session"]);
BazookaManager.Instance.SetAccountName((string)jsonResponse["data"]["username"]);
BazookaManager.Instance.SetAccountID(BigInteger.Parse((string)jsonResponse["data"]["userid"]));
AccountHandler.instance.SwitchPanel(0);
Tools.UpdateStatusText(refreshLoginStatusText, "", Color.red);
}
else
{
Tools.UpdateStatusText(refreshLoginStatusText, (string)jsonResponse["message"], Color.red);
}
} }
refreshLoginBackButton.interactable = true;
} }
} }

View File

@@ -1,5 +1,4 @@
using System; using Newtonsoft.Json.Linq;
using System.Text.RegularExpressions;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Networking; using UnityEngine.Networking;
@@ -34,65 +33,83 @@ public class AccountRegister : MonoBehaviour
async void SubmitRegister() async void SubmitRegister()
{ {
if (!registerEmailInput.text.Trim().Equals(registerRetypeEmailInput.text.Trim(), StringComparison.OrdinalIgnoreCase)) registerBackButton.interactable = false;
if (
registerUsernameInput.text == string.Empty ||
registerEmailInput.text == string.Empty ||
registerRetypeEmailInput.text == string.Empty ||
registerPasswordInput.text == string.Empty ||
registerRetypePasswordInput.text == string.Empty
)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Email doesn't match", Color.red); registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "All input fields must be filled", Color.red);
return; return;
} }
if (!registerPasswordInput.text.Trim().Equals(registerRetypePasswordInput.text.Trim(), StringComparison.OrdinalIgnoreCase)) if (registerEmailInput.text != registerRetypeEmailInput.text)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Password doesn't match", Color.red); registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Emails don't match", Color.red);
return; return;
} }
if (!Regex.IsMatch(registerUsernameInput.text, "^[a-zA-Z0-9]{3,16}$")) if (registerPasswordInput.text != registerRetypePasswordInput.text)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Username must be 3-16 characters, letters and numbers only", Color.red); registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Passwords don't match", Color.red);
return; return;
} }
EncryptedWWWForm dataForm = new(); EncryptedWWWForm dataForm = new();
dataForm.AddField("username", registerUsernameInput.text); dataForm.AddField("username", registerUsernameInput.text);
dataForm.AddField("email", registerEmailInput.text); dataForm.AddField("email", registerEmailInput.text);
dataForm.AddField("password", registerPasswordInput.text); dataForm.AddField("password", registerPasswordInput.text);
using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "registerAccount.php", dataForm.GetWWWForm()); using UnityWebRequest request = UnityWebRequest.Post(SensitiveInfo.SERVER_DATABASE_PREFIX + "registerAccount.php", dataForm.form);
request.SetRequestHeader("Requester", "BerryDashClient"); request.SetRequestHeader("Requester", "BerryDashClient");
request.SetRequestHeader("ClientVersion", Application.version); request.SetRequestHeader("ClientVersion", Application.version);
request.SetRequestHeader("ClientPlatform", Application.platform.ToString()); request.SetRequestHeader("ClientPlatform", Application.platform.ToString());
await request.SendWebRequest(); await request.SendWebRequest();
if (request.result != UnityWebRequest.Result.Success) if (request.result != UnityWebRequest.Result.Success)
{ {
AccountHandler.UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red); registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Failed to make HTTP request", Color.red);
return; return;
} }
string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY); string response = SensitiveInfo.Decrypt(request.downloadHandler.text, SensitiveInfo.SERVER_RECEIVE_TRANSFER_KEY);
switch (response) if (response == "-999")
{ {
case "-999": registerBackButton.interactable = true;
AccountHandler.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red); Tools.UpdateStatusText(registerPanelStatusText, "Server error while fetching data", Color.red);
break; return;
case "-998":
AccountHandler.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red);
break;
case "-997":
AccountHandler.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red);
break;
case "1":
AccountHandler.instance.SwitchPanel(2);
break;
case "-1":
AccountHandler.UpdateStatusText(registerPanelStatusText, "Username must be 3-16 characters, letters and numbers only", Color.red);
break;
case "-2":
AccountHandler.UpdateStatusText(registerPanelStatusText, "Email not valid", Color.red);
break;
case "-3":
AccountHandler.UpdateStatusText(registerPanelStatusText, "Password must have 8 characters, one number and one letter", Color.red);
break;
case "-4":
AccountHandler.UpdateStatusText(registerPanelStatusText, "Username or email already exists", Color.red);
break;
default:
AccountHandler.UpdateStatusText(registerPanelStatusText, "Unknown server response", Color.red);
break;
} }
else if (response == "-998")
{
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Client version too outdated to access servers", Color.red);
return;
}
else if (response == "-997")
{
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Encryption/decryption issues", Color.red);
return;
}
else if (response == "-996")
{
registerBackButton.interactable = true;
Tools.UpdateStatusText(registerPanelStatusText, "Can't send requests on self-built instance", Color.red);
return;
}
else
{
var jsonResponse = JObject.Parse(response);
if ((bool)jsonResponse["success"])
{
AccountHandler.instance.SwitchPanel(2);
}
else
{
Tools.UpdateStatusText(registerPanelStatusText, (string)jsonResponse["message"], Color.red);
}
}
registerBackButton.interactable = true;
} }
} }

View File

@@ -0,0 +1,818 @@
using System.IO;
using System.Numerics;
using Newtonsoft.Json.Linq;
using UnityEngine;
public class BazookaManager : MonoBehaviour
{
public static BazookaManager Instance;
private bool firstLoadDone = false;
public JObject saveFile = new()
{
["version"] = "0"
};
void Awake()
{
if (Instance == null)
{
Instance = this;
DontDestroyOnLoad(gameObject);
if (!firstLoadDone)
{
firstLoadDone = true;
Load();
}
}
else
{
Destroy(gameObject);
}
}
void OnApplicationQuit()
{
Save();
}
void OnApplicationPause(bool pause)
{
if (pause)
{
Save();
}
}
public void Load()
{
string path = Path.Join(Application.persistentDataPath, SensitiveInfo.BAZOOKA_MANAGER_FILE_KEY + ".dat");
if (!File.Exists(path))
{
File.Create(path).Dispose();
}
else
{
try
{
var tempSaveFile = JObject.Parse(SensitiveInfo.DecryptRaw(File.ReadAllBytes(path), SensitiveInfo.BAZOOKA_MANAGER_KEY));
if (tempSaveFile != null) saveFile = tempSaveFile;
}
catch
{
Debug.LogWarning("Failed to load save file");
}
}
if (!PlayerPrefs.HasKey("LegacyConversion"))
{
PlayerPrefs.SetInt("LegacyConversion", 1);
if (PlayerPrefs.HasKey("HighScoreV2"))
{
try
{
SetGameStoreHighScore(BigInteger.Parse(PlayerPrefs.GetString("HighScoreV2", "0")));
}
catch
{
Debug.LogError("Failed to migrate HighScoreV2 to new save format");
}
PlayerPrefs.DeleteKey("HighScoreV2");
}
if (PlayerPrefs.HasKey("TotalNormalBerries"))
{
try
{
SetGameStoreTotalNormalBerries(BigInteger.Parse(PlayerPrefs.GetString("TotalNormalBerries", "0")));
}
catch
{
Debug.LogError("Failed to migrate TotalNormalBerries to new save format");
}
PlayerPrefs.DeleteKey("TotalNormalBerries");
}
if (PlayerPrefs.HasKey("TotalPoisonBerries"))
{
try
{
SetGameStoreTotalPoisonBerries(BigInteger.Parse(PlayerPrefs.GetString("TotalPoisonBerries", "0")));
}
catch
{
Debug.LogError("Failed to migrate TotalPoisonBerries to new save format");
}
PlayerPrefs.DeleteKey("TotalPoisonBerries");
}
if (PlayerPrefs.HasKey("TotalSlowBerries"))
{
try
{
SetGameStoreTotalSlowBerries(BigInteger.Parse(PlayerPrefs.GetString("TotalSlowBerries", "0")));
}
catch
{
Debug.LogError("Failed to migrate TotalSlowBerries to new save format");
}
PlayerPrefs.DeleteKey("TotalSlowBerries");
}
if (PlayerPrefs.HasKey("TotalUltraBerries"))
{
try
{
SetGameStoreTotalUltraBerries(BigInteger.Parse(PlayerPrefs.GetString("TotalUltraBerries", "0")));
}
catch
{
Debug.LogError("Failed to migrate TotalUltraBerries to new save format");
}
PlayerPrefs.DeleteKey("TotalUltraBerries");
}
if (PlayerPrefs.HasKey("TotalSpeedyBerries"))
{
try
{
SetGameStoreTotalSpeedyBerries(BigInteger.Parse(PlayerPrefs.GetString("TotalSpeedyBerries", "0")));
}
catch
{
Debug.LogError("Failed to migrate TotalSpeedyBerries to new save format");
}
PlayerPrefs.DeleteKey("TotalSpeedyBerries");
}
if (PlayerPrefs.HasKey("TotalAttempts"))
{
try
{
SetGameStoreTotalAttepts(BigInteger.Parse(PlayerPrefs.GetString("TotalAttempts", "0")));
}
catch
{
Debug.LogError("Failed to migrate TotalAttempts to new save format");
}
PlayerPrefs.DeleteKey("TotalAttempts");
}
if (PlayerPrefs.HasKey("pastOverlay"))
{
PlayerPrefs.DeleteKey("pastOverlay");
}
if (PlayerPrefs.HasKey("gameSession") && PlayerPrefs.GetString("gameSession") != null && PlayerPrefs.GetString("gameSession").Length == 512)
{
try
{
SetAccountSession(PlayerPrefs.GetString("gameSession"));
}
catch
{
Debug.LogError("Failed to migrate gameSession to new save format");
}
PlayerPrefs.DeleteKey("gameSession");
}
if (PlayerPrefs.HasKey("userName"))
{
try
{
SetAccountSession(PlayerPrefs.GetString("userName"));
}
catch
{
Debug.LogError("Failed to migrate userName to new save format");
}
PlayerPrefs.DeleteKey("userName");
}
if (PlayerPrefs.HasKey("userId"))
{
try
{
SetAccountID(PlayerPrefs.GetInt("userId", 0));
}
catch
{
Debug.LogError("Failed to migrate userId to new save format");
}
PlayerPrefs.DeleteKey("userId");
}
if (PlayerPrefs.HasKey("userId"))
{
try
{
SetAccountID(PlayerPrefs.GetInt("userId", 0));
}
catch
{
Debug.LogError("Failed to migrate userId to new save format");
}
PlayerPrefs.DeleteKey("userId");
}
if (PlayerPrefs.HasKey("musicVolume"))
{
try
{
SetSettingMusicVolume(PlayerPrefs.GetFloat("musicVolume", 1f));
}
catch
{
Debug.LogError("Failed to migrate musicVolume to new save format");
}
PlayerPrefs.DeleteKey("musicVolume");
}
if (PlayerPrefs.HasKey("sfxVolume"))
{
try
{
SetSettingSFXVolume(PlayerPrefs.GetFloat("sfxVolume", 1f));
}
catch
{
Debug.LogError("Failed to migrate sfxVolume to new save format");
}
PlayerPrefs.DeleteKey("sfxVolume");
}
if (PlayerPrefs.HasKey("BirdColor"))
{
try
{
var birdColor = PlayerPrefs.GetString("BirdColor", "255;255;255").Split(";");
SetColorSettingIcon(new JArray(birdColor[0], birdColor[1], birdColor[2]));
}
catch
{
Debug.LogError("Failed to migrate BirdColor to new save format");
}
PlayerPrefs.DeleteKey("BirdColor");
}
if (PlayerPrefs.HasKey("OverlayColor"))
{
try
{
var overlayColor = PlayerPrefs.GetString("OverlayColor", "255;255;255").Split(";");
SetColorSettingOverlay(new JArray(overlayColor[0], overlayColor[1], overlayColor[2]));
}
catch
{
Debug.LogError("Failed to migrate OverlayColor to new save format");
}
PlayerPrefs.DeleteKey("OverlayColor");
}
if (PlayerPrefs.HasKey("OverlayColor"))
{
try
{
var overlayColor = PlayerPrefs.GetString("OverlayColor", "255;255;255").Split(";");
SetColorSettingOverlay(new JArray(overlayColor[0], overlayColor[1], overlayColor[2]));
}
catch
{
Debug.LogError("Failed to migrate OverlayColor to new save format");
}
PlayerPrefs.DeleteKey("OverlayColor");
}
if (PlayerPrefs.HasKey("BackgroundColor"))
{
try
{
var bgColor = PlayerPrefs.GetString("BackgroundColor", "58;58;58").Split(";");
SetColorSettingOverlay(new JArray(bgColor[0], bgColor[1], bgColor[2]));
}
catch
{
Debug.LogError("Failed to migrate BackgroundColor to new save format");
}
PlayerPrefs.DeleteKey("BackgroundColor");
}
if (PlayerPrefs.HasKey("BackgroundColor"))
{
try
{
var bgColor = PlayerPrefs.GetString("BackgroundColor", "58;58;58").Split(";");
SetColorSettingOverlay(new JArray(bgColor[0], bgColor[1], bgColor[2]));
}
catch
{
Debug.LogError("Failed to migrate BackgroundColor to new save format");
}
PlayerPrefs.DeleteKey("BackgroundColor");
}
if (PlayerPrefs.HasKey("icon"))
{
try
{
SetBirdIcon(PlayerPrefs.GetInt("icon", 1));
}
catch
{
Debug.LogError("Failed to migrate icon to new save format");
}
PlayerPrefs.DeleteKey("icon");
}
if (PlayerPrefs.HasKey("overlay"))
{
try
{
SetBirdOverlay(PlayerPrefs.GetInt("overlay", 1));
}
catch
{
Debug.LogError("Failed to migrate overlay to new save format");
}
PlayerPrefs.DeleteKey("overlay");
}
if (PlayerPrefs.HasKey("overlay"))
{
try
{
SetBirdOverlay(PlayerPrefs.GetInt("overlay", 1));
}
catch
{
Debug.LogError("Failed to migrate overlay to new save format");
}
PlayerPrefs.DeleteKey("overlay");
}
if (PlayerPrefs.HasKey("Setting1"))
{
try
{
SetSettingFullScreen(PlayerPrefs.GetInt("Setting1", 1) == 1);
}
catch
{
Debug.LogError("Failed to migrate Setting1 to new save format");
}
PlayerPrefs.DeleteKey("Setting1");
}
if (PlayerPrefs.HasKey("Setting2"))
{
try
{
SetSettingShowFPS(PlayerPrefs.GetInt("Setting2", 1) == 1);
}
catch
{
Debug.LogError("Failed to migrate Setting2 to new save format");
}
PlayerPrefs.DeleteKey("Setting2");
}
if (PlayerPrefs.HasKey("Setting3"))
{
try
{
SetSettingVsync(PlayerPrefs.GetInt("Setting3", 1) == 1);
}
catch
{
Debug.LogError("Failed to migrate Setting3 to new save format");
}
PlayerPrefs.DeleteKey("Setting3");
}
if (PlayerPrefs.HasKey("Setting4"))
{
try
{
SetSettingHideSocials(PlayerPrefs.GetInt("Setting4", 1) == 1);
}
catch
{
Debug.LogError("Failed to migrate Setting4 to new save format");
}
PlayerPrefs.DeleteKey("Setting4");
}
}
}
public void Save()
{
#if UNITY_EDITOR
return;
#else
string path = Path.Join(Application.persistentDataPath, SensitiveInfo.BAZOOKA_MANAGER_FILE_KEY + ".dat");
var encoded = SensitiveInfo.EncryptRaw(saveFile.ToString(Newtonsoft.Json.Formatting.None), SensitiveInfo.BAZOOKA_MANAGER_KEY);
if (encoded == null) return;
using var fileStream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None);
fileStream.Write(encoded, 0, encoded.Length);
fileStream.Flush(true);
#endif
}
public void ResetSave()
{
saveFile = new JObject
{
["version"] = "0"
};
Save();
}
//Bird stuff
public void SetBirdIcon(int value)
{
if (saveFile["bird"] == null) saveFile["bird"] = new JObject();
saveFile["bird"]["icon"] = value;
}
public void UnsetBirdIcon()
{
if (saveFile["bird"] == null) return;
if (saveFile["bird"]["icon"] == null) return;
(saveFile["bird"] as JObject)?.Remove("icon");
}
public int GetBirdIcon()
{
if (saveFile["bird"] == null) return 1;
if (saveFile["bird"]["icon"] == null) return 1;
return int.Parse(saveFile["bird"]["icon"].ToString());
}
public void SetBirdOverlay(int value)
{
if (saveFile["bird"] == null) saveFile["bird"] = new JObject();
saveFile["bird"]["overlay"] = value;
}
public void UnsetBirdOverlay()
{
if (saveFile["bird"] == null) return;
if (saveFile["bird"]["overlay"] == null) return;
(saveFile["bird"] as JObject)?.Remove("overlay");
}
public int GetBirdOverlay()
{
if (saveFile["bird"] == null) return 0;
if (saveFile["bird"]["overlay"] == null) return 0;
return int.Parse(saveFile["bird"]["overlay"].ToString());
}
public void SetCustomBirdIconData(MarketplaceIconStorageType value)
{
if (saveFile["bird"] == null) saveFile["bird"] = new JObject();
saveFile["bird"]["customIcon"] = JObject.FromObject(value);
}
public void UnsetCustomBirdIconData()
{
if (saveFile["bird"] == null) return;
if (saveFile["bird"]["customIcon"] == null) return;
(saveFile["bird"] as JObject)?.Remove("customIcon");
}
public MarketplaceIconStorageType GetCustomBirdIconData()
{
if (saveFile["bird"] == null) return new();
if (saveFile["bird"]["customIcon"] == null) return new();
return saveFile["bird"]["customIcon"].ToObject<MarketplaceIconStorageType>();
}
//Settings stuff
public void SetSettingFullScreen(bool value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
saveFile["settings"]["fullScreen"] = value;
}
public bool GetSettingFullScreen()
{
if (saveFile["settings"] == null) return true;
if (saveFile["settings"]["fullScreen"] == null) return true;
return bool.Parse(saveFile["settings"]["fullScreen"].ToString());
}
public void SetSettingShowFPS(bool value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
saveFile["settings"]["showFps"] = value;
}
public bool GetSettingShowFPS()
{
if (saveFile["settings"] == null) return false;
if (saveFile["settings"]["showFps"] == null) return false;
return bool.Parse(saveFile["settings"]["showFps"].ToString());
}
public void SetSettingVsync(bool value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
saveFile["settings"]["vsync"] = value;
}
public bool GetSettingVsync()
{
if (saveFile["settings"] == null) return true;
if (saveFile["settings"]["vsync"] == null) return true;
return bool.Parse(saveFile["settings"]["vsync"].ToString());
}
public void SetSettingHideSocials(bool value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
saveFile["settings"]["hideSocials"] = value;
}
public bool? GetSettingHideSocials()
{
if (saveFile["settings"] == null) return null;
if (saveFile["settings"]["hideSocials"] == null) return null;
return bool.Parse(saveFile["settings"]["hideSocials"].ToString());
}
public void SetSettingMusicVolume(float value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
saveFile["settings"]["musicVolume"] = value;
}
public float GetSettingMusicVolume()
{
if (saveFile["settings"] == null) return 1f;
if (saveFile["settings"]["musicVolume"] == null) return 1f;
return float.Parse(saveFile["settings"]["musicVolume"].ToString());
}
public void SetSettingSFXVolume(float value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
saveFile["settings"]["sfxVolume"] = value;
}
public float GetSettingSFXVolume()
{
if (saveFile["settings"] == null) return 1f;
if (saveFile["settings"]["sfxVolume"] == null) return 1f;
return float.Parse(saveFile["settings"]["sfxVolume"].ToString());
}
public void SetColorSettingBackground(JArray value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
if (saveFile["settings"]["colors"] == null) saveFile["settings"]["colors"] = new JObject();
saveFile["settings"]["colors"]["background"] = value;
}
public JArray GetColorSettingBackground()
{
if (saveFile["settings"] == null) return new JArray(58, 58, 58);
if (saveFile["settings"]["colors"] == null) return new JArray(58, 58, 58);
if (saveFile["settings"]["colors"]["background"] == null) return new JArray(58, 58, 58);
return JArray.Parse(saveFile["settings"]["colors"]["background"].ToString());
}
public void SetColorSettingIcon(JArray value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
if (saveFile["settings"]["colors"] == null) saveFile["settings"]["colors"] = new JObject();
saveFile["settings"]["colors"]["icon"] = value;
}
public JArray GetColorSettingIcon()
{
if (saveFile["settings"] == null) return new JArray(255, 255, 255);
if (saveFile["settings"]["colors"] == null) return new JArray(255, 255, 255);
if (saveFile["settings"]["colors"]["icon"] == null) return new JArray(255, 255, 255);
return JArray.Parse(saveFile["settings"]["colors"]["icon"].ToString());
}
public void UnsetColorSettingIcon()
{
if (saveFile["settings"] == null) return;
if (saveFile["settings"]["colors"] == null) return;
if (saveFile["settings"]["colors"]["icon"] == null) return;
(saveFile["settings"]["colors"] as JObject)?.Remove("icon");
}
public void SetColorSettingOverlay(JArray value)
{
if (saveFile["settings"] == null) saveFile["settings"] = new JObject();
if (saveFile["settings"]["colors"] == null) saveFile["settings"]["colors"] = new JObject();
saveFile["settings"]["colors"]["overlay"] = value;
}
public JArray GetColorSettingOverlay()
{
if (saveFile["settings"] == null) return new JArray(255, 255, 255);
if (saveFile["settings"]["colors"] == null) return new JArray(255, 255, 255);
if (saveFile["settings"]["colors"]["overlay"] == null) return new JArray(255, 255, 255);
return JArray.Parse(saveFile["settings"]["colors"]["overlay"].ToString());
}
public void UnsetColorSettingOverlay()
{
if (saveFile["settings"] == null) return;
if (saveFile["settings"]["colors"] == null) return;
if (saveFile["settings"]["colors"]["overlay"] == null) return;
(saveFile["settings"]["colors"] as JObject)?.Remove("overlay");
}
//Account stuff
public void SetAccountSession(string value)
{
if (saveFile["account"] == null) saveFile["account"] = new JObject();
saveFile["account"]["session"] = value;
}
public string GetAccountSession()
{
if (saveFile["account"] == null) return null;
if (saveFile["account"]["session"] == null) return null;
return saveFile["account"]["session"].ToString();
}
public void UnsetAccountSession()
{
if (saveFile["account"] == null) return;
(saveFile["account"] as JObject)?.Remove("session");
}
public void SetAccountName(string value)
{
if (saveFile["account"] == null) saveFile["account"] = new JObject();
saveFile["account"]["name"] = value;
}
public string GetAccountName()
{
if (saveFile["account"] == null) return null;
if (saveFile["account"]["name"] == null) return null;
return saveFile["account"]["name"].ToString();
}
public void UnsetAccountName()
{
if (saveFile["account"] == null) return;
(saveFile["account"] as JObject)?.Remove("name");
}
public void SetAccountID(BigInteger value)
{
if (saveFile["account"] == null) saveFile["account"] = new JObject();
saveFile["account"]["id"] = value.ToString();
}
public BigInteger? GetAccountID()
{
if (saveFile["account"] == null) return null;
if (saveFile["account"]["id"] == null) return null;
return BigInteger.Parse(saveFile["account"]["id"].ToString());
}
public void UnsetAccountID()
{
if (saveFile["account"] == null) return;
(saveFile["account"] as JObject)?.Remove("id");
}
//Game store stuff
public void SetGameStoreHighScore(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["highScore"] = value.ToString();
}
public BigInteger GetGameStoreHighScore()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["highScore"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["highScore"].ToString());
}
public void UnsetGameStoreHighScore()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("highScore");
}
public void SetGameStoreTotalAttepts(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalAttempts"] = value.ToString();
}
public BigInteger GetGameStoreTotalAttepts()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalAttempts"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalAttempts"].ToString());
}
public void UnsetGameStoreTotalAttepts()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalAttempts");
}
public void SetGameStoreTotalNormalBerries(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalNormalBerries"] = value.ToString();
}
public BigInteger GetGameStoreTotalNormalBerries()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalNormalBerries"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalNormalBerries"].ToString());
}
public void UnsetGameStoreTotalNormalBerries()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalNormalBerries");
}
public void SetGameStoreTotalPoisonBerries(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalPoisonBerries"] = value.ToString();
}
public BigInteger GetGameStoreTotalPoisonBerries()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalPoisonBerries"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalPoisonBerries"].ToString());
}
public void UnsetGameStoreTotalPoisonBerries()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalPoisonBerries");
}
public void SetGameStoreTotalSlowBerries(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalSlowBerries"] = value.ToString();
}
public BigInteger GetGameStoreTotalSlowBerries()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalSlowBerries"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalSlowBerries"].ToString());
}
public void UnsetGameStoreTotalSlowBerries()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalSlowBerries");
}
public void SetGameStoreTotalUltraBerries(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalUltraBerries"] = value.ToString();
}
public BigInteger GetGameStoreTotalUltraBerries()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalUltraBerries"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalUltraBerries"].ToString());
}
public void UnsetGameStoreTotalUltraBerries()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalUltraBerries");
}
public void SetGameStoreTotalSpeedyBerries(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalSpeedyBerries"] = value.ToString();
}
public BigInteger GetGameStoreTotalSpeedyBerries()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalSpeedyBerries"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalSpeedyBerries"].ToString());
}
public void UnsetGameStoreTotalSpeedyBerries()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalSpeedyBerries");
}
public void SetGameStoreTotalCoinBerries(BigInteger value)
{
if (saveFile["gameStore"] == null) saveFile["gameStore"] = new JObject();
saveFile["gameStore"]["totalCoinBerries"] = value.ToString();
}
public BigInteger GetGameStoreTotalCoinBerries()
{
if (saveFile["gameStore"] == null) return 0;
if (saveFile["gameStore"]["totalCoinBerries"] == null) return 0;
return BigInteger.Parse(saveFile["gameStore"]["totalCoinBerries"].ToString());
}
public void UnsetGameStoreTotalCoinBerries()
{
if (saveFile["gameStore"] == null) return;
(saveFile["gameStore"] as JObject)?.Remove("totalCoinBerries");
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a0df255fc60e6e3c88ebb94d2d88db4d

View File

@@ -0,0 +1,87 @@
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem;
public class BouncyButton : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
bool isHovered = false;
bool isHeld = false;
bool didBounce = false;
Vector3 originalScale;
Vector3 finalScale;
void Start()
{
originalScale = transform.localScale;
finalScale = originalScale * 1.1f;
}
public void OnPointerEnter(PointerEventData eventData) => isHovered = true;
public void OnPointerExit(PointerEventData eventData)
{
isHovered = false;
ResetScale();
}
void OnDisable()
{
isHovered = false;
ResetScale();
}
void Update()
{
if (Application.isMobilePlatform)
{
isHeld = Touchscreen.current != null && Touchscreen.current.press.isPressed;
}
else
{
isHeld = Mouse.current != null && Mouse.current.leftButton.isPressed;
}
if (isHovered && isHeld && !didBounce)
{
StartCoroutine(BounceOnce());
didBounce = true;
}
if ((!isHovered || !isHeld) && didBounce)
{
ResetScale();
}
}
void ResetScale()
{
StopAllCoroutines();
transform.localScale = originalScale;
didBounce = false;
}
System.Collections.IEnumerator BounceOnce()
{
float t = 0.125f;
Vector3 s1 = originalScale * 1.12f;
Vector3 s2 = originalScale * 1.06f;
Vector3 s3 = finalScale;
yield return LerpScale(originalScale, s1, t);
yield return LerpScale(s1, s2, t * 0.5f);
yield return LerpScale(s2, s3, t * 0.5f);
transform.localScale = s3;
}
System.Collections.IEnumerator LerpScale(Vector3 from, Vector3 to, float duration)
{
float elapsed = 0f;
while (elapsed < duration)
{
elapsed += Time.deltaTime;
float p = elapsed / duration;
transform.localScale = Vector3.Lerp(from, to, p);
yield return null;
}
transform.localScale = to;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 200e77fbcd2ab3206aa2fb9665984330

View File

@@ -0,0 +1,15 @@
using UnityEngine;
public class BouncyPanel : MonoBehaviour
{
public float frequency = 8f;
public float minSize = 1f;
public float maxSize = 1.1f;
void Update()
{
float newsize = (Mathf.Sin(Time.time * frequency) + 1f) / 2f;
var size = Mathf.Lerp(minSize, maxSize, newsize);
gameObject.transform.localScale = new(size, size, size);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9c3738bf0236e043c9bdf9972b8a7375

View File

@@ -0,0 +1,21 @@
using UnityEngine;
using TMPro;
public class BouncyText : MonoBehaviour
{
public float frequency = 2f;
public float minSize = 10f;
public float maxSize = 12f;
private TextMeshProUGUI text;
void Start()
{
text = GetComponent<TextMeshProUGUI>();
}
void Update()
{
float newsize = (Mathf.Sin(Time.time * frequency) + 1f) / 2f;
text.fontSize = Mathf.Lerp(minSize, maxSize, newsize);
}
}

Some files were not shown because too many files have changed in this diff Show More