Compare commits

..

11 Commits

Author SHA1 Message Date
Pasha Bibko
c87947075d Merge branch 'Pasha' 2026-01-15 13:23:01 +00:00
Pasha Bibko
a155d85f72 Added spawn weighting 2026-01-15 13:20:04 +00:00
Pasha Bibko
cf10bf3f90 Improved feel of Troll Window 2026-01-15 13:03:12 +00:00
Pasha Bibko
651050aa53 Fixed registries 2026-01-15 12:58:33 +00:00
Pasha Bibko
4fa7e2adc1 Added window bar 2026-01-15 12:14:17 +00:00
Pasha Bibko
b5ae378453 Updated advert registry 2026-01-15 12:09:22 +00:00
Pasha Bibko
4eea7f8836 Made trivia questions work 2026-01-15 11:42:10 +00:00
Pasha Bibko
fd61dcb2f4 Cleaned up window base code 2026-01-15 11:17:27 +00:00
Pasha Bibko
da7cb58ec3 Added registries 2026-01-15 10:51:27 +00:00
a7413ab629 Started implementing TriviaWindow 2026-01-15 10:24:36 +00:00
69a28e31b8 Added trivia dataset 2026-01-14 21:25:51 +00:00
66 changed files with 2609 additions and 74 deletions

View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
</state>
</component>

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 30cffbfe94eadf242bebf6e36051fc6b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 3b3c029f5765bc646a0660decc8792c8
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: b87d5a2e78ba57d48880bf58ef05a7da
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 256f02e0170653145ad5a1b6ed208426
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: c817f5694a7303c428fb37306045fc9b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: 96c0dcfbf5358154aa8077a5909739ac
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 881 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: fb9ee9417f676274087e318dff5c2b73
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Images/Split.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5646847f1e2edc34d872953bb56e9a54
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 434 KiB

After

Width:  |  Height:  |  Size: 434 KiB

View File

Before

Width:  |  Height:  |  Size: 405 KiB

After

Width:  |  Height:  |  Size: 405 KiB

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
Assets/Images/WindowBar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,127 @@
fileFormatVersion: 2
guid: fe05722d1c0421046b275859905cc71e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
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:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -58,7 +58,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 6412be81563725c40bfc6c75b1a58af8, type: 2}
m_Color: {r: 0, g: 1, b: 0.015290737, a: 1}
m_Color: {r: 0.24528301, g: 0.24528301, b: 0.24528301, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@@ -256,7 +256,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Sprite: {fileID: 21300000, guid: fe05722d1c0421046b275859905cc71e, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -451,6 +451,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
<WindowImage>k__BackingField: {fileID: 3009414327569646558}
<TopBarRectTransform>k__BackingField: {fileID: 25269235060726753}
<RectTransform>k__BackingField: {fileID: 7011418079103154681}
<CloseButtonRectTransform>k__BackingField: {fileID: 2035964200443923097}
<InfoText>k__BackingField: {fileID: 2038821404454815492}

View File

@@ -0,0 +1,202 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2940310635561786684
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1414490042639617302}
- component: {fileID: 5291019555413885228}
- component: {fileID: 3825336479657745611}
- component: {fileID: 7082475543525880575}
m_Layer: 5
m_Name: TextButtonPrefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1414490042639617302
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2940310635561786684}
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:
- {fileID: 4463935307105001289}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5291019555413885228
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2940310635561786684}
m_CullTransparentMesh: 1
--- !u!114 &3825336479657745611
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2940310635561786684}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7082475543525880575
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2940310635561786684}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3825336479657745611}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &8163815796456593488
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4463935307105001289}
- component: {fileID: 7219155264245777851}
- component: {fileID: 7690044542930724813}
m_Layer: 5
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4463935307105001289
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8163815796456593488}
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: 1414490042639617302}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7219155264245777851
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8163815796456593488}
m_CullTransparentMesh: 1
--- !u!114 &7690044542930724813
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8163815796456593488}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: hello

View File

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

8
Assets/Resources.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c55e1cb43dc42f34f97c2ca8aa046411
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,33 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7a072103fe40445691e28d3eb4509d1b, type: 3}
m_Name: AdvertRegistry
m_EditorClassIdentifier:
m_Adverts:
- <Name>k__BackingField: Bepsi Rora
<Image>k__BackingField: {fileID: 21300000, guid: fb9ee9417f676274087e318dff5c2b73,
type: 3}
- <Name>k__BackingField: Eygpt Crusade
<Image>k__BackingField: {fileID: 21300000, guid: 3b3c029f5765bc646a0660decc8792c8,
type: 3}
- <Name>k__BackingField: Gabagool
<Image>k__BackingField: {fileID: 21300000, guid: b87d5a2e78ba57d48880bf58ef05a7da,
type: 3}
- <Name>k__BackingField: Over the Watch
<Image>k__BackingField: {fileID: 21300000, guid: 256f02e0170653145ad5a1b6ed208426,
type: 3}
- <Name>k__BackingField: Red Bread Redemption
<Image>k__BackingField: {fileID: 21300000, guid: c817f5694a7303c428fb37306045fc9b,
type: 3}
- <Name>k__BackingField: The codfather
<Image>k__BackingField: {fileID: 21300000, guid: 96c0dcfbf5358154aa8077a5909739ac,
type: 3}

View File

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

View File

@@ -10,9 +10,9 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f25c8c9754c2489da8616c79fe173e69, type: 3}
m_Name: Registry
m_Name: ImageRegistry
m_EditorClassIdentifier:
<Registered>k__BackingField:
m_Registered:
- <Images>k__BackingField:
- {fileID: 1904163225, guid: 0a3345be1f4bf77488a64ce0d8ea336c, type: 3}
- {fileID: -1747164198, guid: 0a3345be1f4bf77488a64ce0d8ea336c, type: 3}

View File

@@ -0,0 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9631aba76ad0408d8819b9f979caae5e, type: 3}
m_Name: PrefabRegistry
m_EditorClassIdentifier:
<ImagePrefab>k__BackingField: {fileID: 1810675969122322477, guid: 792c010445685104eac99ebe5c3831ce,
type: 3}
<TextButtonPrefab>k__BackingField: {fileID: 2940310635561786684, guid: dab7e63431a2b974cab5c2a6117a037c,
type: 3}

View File

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

View File

@@ -0,0 +1,954 @@
{
"questions" : [
{
"question" : "2 + 2?",
"choices" : [
"3",
"4",
"5",
"6"
],
"answer" : "4"
},
{
"question" : "What is the capital of France?",
"choices" : [
"Paris",
"Rome",
"Berlin",
"Madrid"
],
"answer" : "Paris"
},
{
"question" : "What color is the sky?",
"choices" : [
"Blue",
"Green",
"Red",
"Yellow"
],
"answer" : "Blue"
},
{
"question" : "What color is grass?",
"choices" : [
"Green",
"Blue",
"Red",
"White"
],
"answer" : "Green"
},
{
"question" : "What is the opposite of hot?",
"choices" : [
"Cold",
"Warm",
"Dry",
"Wet"
],
"answer" : "Cold"
},
{
"question" : "Which direction does the sun rise?",
"choices" : [
"East",
"West",
"North",
"South"
],
"answer" : "East"
},
{
"question" : "How many days are there in a week?",
"choices" : [
"5",
"6",
"7",
"8"
],
"answer" : "7"
},
{
"question" : "How many hours are there in a day?",
"choices" : [
"12",
"18",
"24",
"36"
],
"answer" : "24"
},
{
"question" : "How many letters are in the alphabet?",
"choices" : [
"24",
"25",
"26",
"27"
],
"answer" : "26"
},
{
"question" : "Earth is a?",
"choices" : [
"Star",
"Planet",
"Moon",
"Comet"
],
"answer" : "Planet"
},
{
"question" : "What is the largest planet in the solar system?",
"choices" : [
"Earth",
"Mars",
"Jupiter",
"Venus"
],
"answer" : "Jupiter"
},
{
"question" : "Which number is the smallest?",
"choices" : [
"1",
"-5",
"10",
"-100"
],
"answer" : "-100"
},
{
"question" : "What is the opposite of up?",
"choices" : [
"Down",
"Left",
"Right",
"Around"
],
"answer" : "Down"
},
{
"question" : "What temperature does water freeze at?",
"choices" : [
"0°C",
"50°C",
"100°C",
"10°C"
],
"answer" : "0°C"
},
{
"question" : "What is the fastest land animal?",
"choices" : [
"Dog",
"Horse",
"Cheetah",
"Cat"
],
"answer" : "Cheetah"
},
{
"question" : "What do humans breathe?",
"choices" : [
"Oxygen",
"Carbon",
"Helium",
"Smoke"
],
"answer" : "Oxygen"
},
{
"question" : "What shape has 3 sides?",
"choices" : [
"Square",
"Triangle",
"Circle",
"Oval"
],
"answer" : "Triangle"
},
{
"question" : "What shape has 4 sides?",
"choices" : [
"Triangle",
"Square",
"Circle",
"Star"
],
"answer" : "Square"
},
{
"question" : "Which of these is a Primary color?",
"choices" : [
"Blue",
"Pink",
"Brown",
"Gray"
],
"answer" : "Blue"
},
{
"question" : "What is the opposite of big?",
"choices" : [
"Small",
"Tall",
"Wide",
"Long"
],
"answer" : "Small"
},
{
"question" : "Fire is?",
"choices" : [
"Hot",
"Cold",
"Wet",
"Soft"
],
"answer" : "Hot"
},
{
"question" : "Ice is?",
"choices" : [
"Cold",
"Hot",
"Dry",
"Hard"
],
"answer" : "Cold"
},
{
"question" : "Which day is after Monday?",
"choices" : [
"Tuesday",
"Sunday",
"Friday",
"Saturday"
],
"answer" : "Tuesday"
},
{
"question" : "Which of these days are on a weekend?",
"choices" : [
"Monday",
"Tuesday",
"Saturday",
"Wednesday"
],
"answer" : "Saturday"
},
{
"question" : "What is the color of a banana?",
"choices" : [
"Yellow",
"Blue",
"Red",
"Purple"
],
"answer" : "Yellow"
},
{
"question" : "What is the color of an apple?",
"choices" : [
"Red",
"Blue",
"Black",
"Pink"
],
"answer" : "Red"
},
{
"question" : "Where do Fish live?",
"choices" : [
"Water",
"Air",
"Sand",
"Fire"
],
"answer" : "Water"
},
{
"question" : "What is the opposite of fast?",
"choices" : [
"Slow",
"Quick",
"Sharp",
"Bright"
],
"answer" : "Slow"
},
{
"question" : "What is the sun?",
"choices" : [
"Star",
"Planet",
"Moon",
"Rock"
],
"answer" : "Star"
},
{
"question" : "What does the moon orbit?",
"choices" : [
"Earth",
"Sun",
"Mars",
"Jupiter"
],
"answer" : "Earth"
},
{
"question" : "How many legs does a human have?",
"choices" : [
"2",
"4",
"6",
"8"
],
"answer" : "2"
},
{
"question" : "How many eyes does a human have?",
"choices" : [
"1",
"2",
"3",
"4"
],
"answer" : "2"
},
{
"question" : "Snow color is snow?",
"choices" : [
"White",
"Black",
"Red",
"Green"
],
"answer" : "White"
},
{
"question" : "What is the opposite of open?",
"choices" : [
"Closed",
"Wide",
"Large",
"Empty"
],
"answer" : "Closed"
},
{
"question" : "What color is milk?",
"choices" : [
"White",
"Blue",
"Brown",
"Yellow"
],
"answer" : "White"
},
{
"question" : "What does fire need to stay alight?",
"choices" : [
"Oxygen",
"Water",
"Ice",
"Sand"
],
"answer" : "Oxygen"
},
{
"question" : "What is the opposite of full?",
"choices" : [
"Empty",
"Large",
"Wide",
"Heavy"
],
"answer" : "Empty"
},
{
"question" : "What color is the sky during the day?",
"choices" : [
"Blue",
"Black",
"Green",
"Gray"
],
"answer" : "Blue"
},
{
"question" : "What color is the sky during the night?",
"choices" : [
"Black",
"Blue",
"Green",
"Red"
],
"answer" : "Black"
},
{
"question" : "2 + 3 =",
"choices" : [
"4",
"5",
"6",
"7"
],
"answer" : "5"
},
{
"question" : "5 - 2 =",
"choices" : [
"2",
"3",
"4",
"5"
],
"answer" : "3"
},
{
"question" : "10 / 2 =",
"choices" : [
"2",
"4",
"5",
"10"
],
"answer" : "5"
},
{
"question" : "3 × 3 =",
"choices" : [
"6",
"8",
"9",
"12"
],
"answer" : "9"
},
{
"question" : "What is the opposite of left?",
"choices" : [
"Right",
"Up",
"Down",
"Back"
],
"answer" : "Right"
},
{
"question" : "What is the color of the sun?",
"choices" : [
"Yellow",
"Blue",
"Green",
"Purple"
],
"answer" : "Yellow"
},
{
"question" : "What do fish breathe through?",
"choices" : [
"Gills",
"Lungs",
"Skin",
"Fire"
],
"answer" : "Gills"
},
{
"question" : "What is the opposite of loud?",
"choices" : [
"Quiet",
"Fast",
"Sharp",
"Bright"
],
"answer" : "Quiet"
},
{
"question" : "What is the color of fire?",
"choices" : [
"Red",
"Blue",
"Green",
"White"
],
"answer" : "Red"
},
{
"question" : "What is the capital of Italy?",
"choices" : [
"Rome",
"Paris",
"Berlin",
"Madrid"
],
"answer" : "Rome"
},
{
"question" : "What is the largest ocean?",
"choices" : [
"Pacific",
"Atlantic",
"Indian",
"Arctic"
],
"answer" : "Pacific"
},
{
"question" : "What is the color of a firetruck?",
"choices" : [
"Red",
"Blue",
"Green",
"Yellow"
],
"answer" : "Red"
},
{
"question" : "What is the color of a banana?",
"choices" : [
"Yellow",
"Red",
"Blue",
"Purple"
],
"answer" : "Yellow"
},
{
"question" : "What planet is known for its rings?",
"choices" : [
"Saturn",
"Mars",
"Earth",
"Venus"
],
"answer" : "Saturn"
},
{
"question" : "What is the largest land animal?",
"choices" : [
"Elephant",
"Lion",
"Horse",
"Bear"
],
"answer" : "Elephant"
},
{
"question" : "What is the tallest tree type?",
"choices" : [
"Redwood",
"Pine",
"Oak",
"Birch"
],
"answer" : "Redwood"
},
{
"question" : "Which celestial body does the Earth rotate around?",
"choices" : [
"Sun",
"Moon",
"Mars",
"Jupiter"
],
"answer" : "Sun"
},
{
"question" : "Which celestial body does the moon orbit?",
"choices" : [
"Earth",
"Sun",
"Mars",
"Venus"
],
"answer" : "Earth"
},
{
"question" : "What is the largest desert?",
"choices" : [
"Sahara",
"Gobi",
"Kalahari",
"Arctic"
],
"answer" : "Sahara"
},
{
"question" : "What is the smallest continent?",
"choices" : [
"Australia",
"Europe",
"Asia",
"Africa"
],
"answer" : "Australia"
},
{
"question" : "What is the largest continent?",
"choices" : [
"Asia",
"Africa",
"Europe",
"Antarctica"
],
"answer" : "Asia"
},
{
"question" : "What planet is closest to the Sun?",
"choices" : [
"Mercury",
"Venus",
"Earth",
"Mars"
],
"answer" : "Mercury"
},
{
"question" : "What planet is farthest from the Sun?",
"choices" : [
"Neptune",
"Mars",
"Earth",
"Venus"
],
"answer" : "Neptune"
},
{
"question" : "What bird cannot fly?",
"choices" : [
"Ostrich",
"Eagle",
"Sparrow",
"Parrot"
],
"answer" : "Ostrich"
},
{
"question" : "Which mammal can fly?",
"choices" : [
"Bat",
"Cat",
"Dog",
"Horse"
],
"answer" : "Bat"
},
{
"question" : "What animal has a trunk?",
"choices" : [
"Elephant",
"Rhino",
"Horse",
"Lion"
],
"answer" : "Elephant"
},
{
"question" : "What animal has stripes?",
"choices" : [
"Tiger",
"Lion",
"Bear",
"Elephant"
],
"answer" : "Tiger"
},
{
"question" : "What animal lays eggs?",
"choices" : [
"Chicken",
"Dog",
"Cat",
"Cow"
],
"answer" : "Chicken"
},
{
"question" : "Largest planet in solar system?",
"choices" : [
"Jupiter",
"Mars",
"Earth",
"Venus"
],
"answer" : "Jupiter"
},
{
"question" : "Smallest planet in the solar system?",
"choices" : [
"Mercury",
"Mars",
"Venus",
"Earth"
],
"answer" : "Mercury"
},
{
"question" : "What direction is the opposite of up?",
"choices" : [
"Down",
"Left",
"Right",
"Back"
],
"answer" : "Down"
},
{
"question" : "Hot drink from beans?",
"choices" : [
"Coffee",
"Tea",
"Milk",
"Water"
],
"answer" : "Coffee"
},
{
"question" : "What is the day after Sunday?",
"choices" : [
"Monday",
"Tuesday",
"Saturday",
"Friday"
],
"answer" : "Monday"
},
{
"question" : "What is the longest river?",
"choices" : [
"Nile",
"Amazon",
"Yangtze",
"Mississippi"
],
"answer" : "Nile"
},
{
"question" : "What is the highest mountain?",
"choices" : [
"Everest",
"K2",
"Kangchenjunga",
"Denali"
],
"answer" : "Everest"
},
{
"question" : "What is the largest country?",
"choices" : [
"Russia",
"Canada",
"China",
"USA"
],
"answer" : "Russia"
},
{
"question" : "Language spoken in Spain?",
"choices" : [
"Spanish",
"French",
"German",
"Italian"
],
"answer" : "Spanish"
},
{
"question" : "Language spoken in France?",
"choices" : [
"French",
"Spanish",
"English",
"German"
],
"answer" : "French"
},
{
"question" : "Language spoken in Germany?",
"choices" : [
"German",
"English",
"Spanish",
"Italian"
],
"answer" : "German"
},
{
"question" : "Language spoken in Italy?",
"choices" : [
"Italian",
"French",
"Spanish",
"German"
],
"answer" : "Italian"
},
{
"question" : "Hot beverage from leaves?",
"choices" : [
"Tea",
"Coffee",
"Milk",
"Water"
],
"answer" : "Tea"
},
{
"question" : "Round fruit, red or green?",
"choices" : [
"Apple",
"Banana",
"Orange",
"Grape"
],
"answer" : "Apple"
},
{
"question" : "Long yellow fruit?",
"choices" : [
"Banana",
"Apple",
"Orange",
"Mango"
],
"answer" : "Banana"
},
{
"question" : "Orange citrus fruit?",
"choices" : [
"Orange",
"Apple",
"Banana",
"Pear"
],
"answer" : "Orange"
},
{
"question" : "Green citrus fruit?",
"choices" : [
"Lime",
"Lemon",
"Orange",
"Grapefruit"
],
"answer" : "Lime"
},
{
"question" : "Animal that quacks?",
"choices" : [
"Duck",
"Goose",
"Chicken",
"Turkey"
],
"answer" : "Duck"
},
{
"question" : "Animal that oinks?",
"choices" : [
"Pig",
"Cow",
"Dog",
"Sheep"
],
"answer" : "Pig"
},
{
"question" : "Animal that moos?",
"choices" : [
"Cow",
"Pig",
"Dog",
"Horse"
],
"answer" : "Cow"
},
{
"question" : "What animal has a mane?",
"choices" : [
"Lion",
"Tiger",
"Elephant",
"Horse"
],
"answer" : "Lion"
},
{
"question" : "What animal has a hump?",
"choices" : [
"Camel",
"Horse",
"Elephant",
"Donkey"
],
"answer" : "Camel"
},
{
"question" : "What animal can hop?",
"choices" : [
"Kangaroo",
"Lion",
"Tiger",
"Elephant"
],
"answer" : "Kangaroo"
},
{
"question" : "What animal can swim?",
"choices" : [
"Fish",
"Dog",
"Cat",
"Horse"
],
"answer" : "Fish"
},
{
"question" : "Which animal can fly?",
"choices" : [
"Bird",
"Cat",
"Dog",
"Elephant"
],
"answer" : "Bird"
},
{
"question" : "What animal has a shell?",
"choices" : [
"Turtle",
"Dog",
"Cat",
"Horse"
],
"answer" : "Turtle"
},
{
"question" : "What animal has tusks?",
"choices" : [
"Elephant",
"Lion",
"Horse",
"Tiger"
],
"answer" : "Elephant"
},
{
"question" : "Color of coal?",
"choices" : [
"Black",
"White",
"Red",
"Green"
],
"answer" : "Black"
}
]
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 24604148b5744ad6add2e05c67ddc371
timeCreated: 1768421229

View File

@@ -542,10 +542,6 @@ MonoBehaviour:
m_EditorClassIdentifier:
<CanvasRect>k__BackingField: {fileID: 1539476655}
<GameCanvas>k__BackingField: {fileID: 1539476654}
<ImagePrefab>k__BackingField: {fileID: 1810675969122322477, guid: 792c010445685104eac99ebe5c3831ce,
type: 3}
<Images>k__BackingField: {fileID: 11400000, guid: 157e9466a4474c147bbd98676e5b1d22,
type: 2}
--- !u!1 &1683319378
GameObject:
m_ObjectHideFlags: 0
@@ -646,6 +642,17 @@ MonoBehaviour:
<SampleChild>k__BackingField: {fileID: 8853825751094127020, guid: 2cad467961f3cff4984a6f50fc091377,
type: 3}
<GameCanvas>k__BackingField: {fileID: 1539476654}
<WindowTypes>k__BackingField:
- <Typename>k__BackingField: InterfaceOff.BasicWindow
<SpawnWeight>k__BackingField: 10
- <Typename>k__BackingField: InterfaceOff.MovingWindow
<SpawnWeight>k__BackingField: 2
- <Typename>k__BackingField: InterfaceOff.ImageWindow
<SpawnWeight>k__BackingField: 1
- <Typename>k__BackingField: InterfaceOff.TrollWindow
<SpawnWeight>k__BackingField: 2
- <Typename>k__BackingField: InterfaceOff.TriviaWindow
<SpawnWeight>k__BackingField: 4
<AutoSpawn>k__BackingField: 1
--- !u!4 &2038986853
Transform:

View File

@@ -7,9 +7,6 @@ namespace InterfaceOff
[field: SerializeField] public RectTransform CanvasRect { get; private set; }
[field: SerializeField] public Canvas GameCanvas { get; private set; }
[field: SerializeField] public GameObject ImagePrefab { get; private set; }
[field: SerializeField] public ImageRegistry Images { get; set; }
public static CanvasManager Instance { get; private set; }
private void Awake()

3
Assets/Scripts/Ext.meta Normal file
View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9c4ac8eadd314129ac24f2035e462dc0
timeCreated: 1768482210

View File

@@ -0,0 +1,45 @@
/*****
* This is part of a simple PropertyDrawer for string variables to allow drag
* and drop of MonoScripts in the inspector of the Unity3d editor.
*
* NOTE: This is a runtime script and MUST NOT be placed in a folder named "editor".
* It also requires another editor file named "MonoScriptPropertyDrawer.cs"
*
* Copyright (c) 2016 Bunny83
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*
*****/
using UnityEngine;
using System;
namespace Ext.B83.Unity.Attributes
{
[AttributeUsage(AttributeTargets.Field)]
public class MonoScriptAttribute : PropertyAttribute
{
public Type type;
public MonoScriptAttribute() { }
public MonoScriptAttribute(System.Type aType)
{
type = aType;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 433a7d4d13adbbc43bd8ef66708150c1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,103 @@
/*****
* This is a simple PropertyDrawer for string variables to allow drag and drop
* of MonoScripts in the inspector of the Unity3d editor.
*
* NOTE: This is an editor script and need to be placed in a folder named "editor".
* It also requires another runtime file named "MonoScriptAttribute.cs"
*
* Copyright (c) 2016 Bunny83
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*
*****/
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
using Ext.B83.Unity.Attributes;
namespace Ext.B83.Unity.Editor.PropertyDrawers
{
[CustomPropertyDrawer(typeof(MonoScriptAttribute), false)]
public class MonoScriptPropertyDrawer : PropertyDrawer
{
static Dictionary<string, MonoScript> m_ScriptCache;
static MonoScriptPropertyDrawer()
{
m_ScriptCache = new Dictionary<string, MonoScript>();
var scripts = Resources.FindObjectsOfTypeAll<MonoScript>();
for (int i = 0; i < scripts.Length; i++)
{
var type = scripts[i].GetClass();
if (type != null && !m_ScriptCache.ContainsKey(type.FullName))
{
m_ScriptCache.Add(type.FullName, scripts[i]);
}
}
}
bool m_ViewString = false;
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
if (property.propertyType == SerializedPropertyType.String)
{
Rect r = EditorGUI.PrefixLabel(position, label);
Rect labelRect = position;
labelRect.xMax = r.xMin;
position = r;
m_ViewString = GUI.Toggle(labelRect, m_ViewString, "", "label");
if (m_ViewString)
{
property.stringValue = EditorGUI.TextField(position, property.stringValue);
return;
}
MonoScript script = null;
string typeName = property.stringValue;
if (!string.IsNullOrEmpty(typeName))
{
m_ScriptCache.TryGetValue(typeName, out script);
if (script == null)
GUI.color = Color.red;
}
script = (MonoScript)EditorGUI.ObjectField(position, script, typeof(MonoScript), false);
if (GUI.changed)
{
if (script != null)
{
var type = script.GetClass();
MonoScriptAttribute attr = (MonoScriptAttribute)attribute;
if (attr.type != null && !attr.type.IsAssignableFrom(type))
type = null;
if (type != null)
property.stringValue = type.FullName;
else
Debug.LogWarning("The script file " + script.name + " doesn't contain an assignable class");
}
else
property.stringValue = "";
}
}
else
{
GUI.Label(position, "The MonoScript attribute can only be used on string variables");
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 52d258da1716b584badd0297eae9bfbf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,21 +0,0 @@
using UnityEngine;
namespace InterfaceOff
{
[System.Serializable] public struct ImageSet
{
[field: SerializeField] public Sprite[] Images { get; set; }
}
[CreateAssetMenu(fileName = "Image Registry", menuName = "Custom/Create Image Registry")]
public class ImageRegistry : ScriptableObject
{
[field: SerializeField] public ImageSet[] Registered { get; set; }
public Sprite[] GetRandomSpriteSet()
{
int index = Random.Range(0, Registered.Length);
return Registered[index].Images;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 88f50186ae5949a69b1a09bdbf679e2b
timeCreated: 1768472737

View File

@@ -0,0 +1,27 @@
using UnityEngine;
namespace InterfaceOff
{
[System.Serializable]
public struct Advert
{
[field: SerializeField] public string Name { get; private set; }
[field: SerializeField] public Sprite Image { get; private set; }
}
[CreateAssetMenu(fileName = "Advert Registry", menuName = "Custom/Create Advert Registry")]
public class AdvertRegistry : ScriptableObject
{
[field: SerializeField] public Advert[] m_Adverts;
private static AdvertRegistry Instance;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadRegistry() => Instance = Resources.Load<AdvertRegistry>("AdvertRegistry");
public static Advert GetRandomAdvert()
{
int index = Random.Range(0, Instance.m_Adverts.Length);
return Instance.m_Adverts[index];
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7a072103fe40445691e28d3eb4509d1b
timeCreated: 1768472783

View File

@@ -0,0 +1,25 @@
using UnityEngine;
namespace InterfaceOff
{
[System.Serializable] public struct ImageSet
{
[field: SerializeField] public Sprite[] Images { get; set; }
}
[CreateAssetMenu(fileName = "Image Registry", menuName = "Custom/Create Image Registry")]
public class ImageRegistry : ScriptableObject
{
[field: SerializeField] private ImageSet[] m_Registered;
private static ImageRegistry Instance;
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadRegistry() => Instance = Resources.Load<ImageRegistry>("ImageRegistry");
public static Sprite[] GetRandomSpriteSet()
{
int index = Random.Range(0, Instance.m_Registered.Length);
return Instance.m_Registered[index].Images;
}
}
}

View File

@@ -0,0 +1,16 @@
using UnityEngine;
namespace InterfaceOff
{
[CreateAssetMenu(fileName = nameof(PrefabRegistry), menuName = "Custom/Create Prefab Registry")]
public class PrefabRegistry : ScriptableObject
{
[field: SerializeField] public GameObject ImagePrefab { get; private set; }
[field: SerializeField] public GameObject TextButtonPrefab { get; private set; }
public static PrefabRegistry Instance { get; private set; }
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadRegistry() => Instance = Resources.Load<PrefabRegistry>(nameof(PrefabRegistry));
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 9631aba76ad0408d8819b9f979caae5e
timeCreated: 1768474019

View File

@@ -54,6 +54,13 @@ namespace InterfaceOff
}
public virtual void OnWindowInstantiation() { }
public virtual void OnWindowClicked() { }
/* Default close button closes the window */
public virtual void OnWindowCloseButtonClicked() => DestroyWindow();
protected void DestroyWindow()
{
Destroy(gameObject);
}
}
}

View File

@@ -1,12 +1,12 @@
using UnityEngine.UI;
using UnityEngine;
using UnityEngine.Serialization;
namespace InterfaceOff
{
public class WindowComponents : MonoBehaviour
{
[field: SerializeField] public Image WindowImage { get; private set; }
[field: SerializeField] public RectTransform TopBarRectTransform { get; private set; }
[field: SerializeField] public RectTransform RectTransform { get; private set; }
[field: SerializeField] public RectTransform CloseButtonRectTransform { get; private set; }
[field: SerializeField] public Text InfoText { get; private set; }
@@ -18,5 +18,16 @@ namespace InterfaceOff
RectTransform.rect.width,
RectTransform.rect.height
);
public void SetWidth(float width)
{
RectTransform.sizeDelta = new Vector2(width, RectTransform.sizeDelta.y);
WindowImage.rectTransform.sizeDelta = new Vector2(width, 200);
TopBarRectTransform.sizeDelta = new Vector2(width, 40);
CloseButtonRectTransform.anchoredPosition = new Vector2(width / 2 - 20, 0);
InfoText.rectTransform.sizeDelta = new Vector2(width - 40, 30);
}
}
}

View File

@@ -7,6 +7,6 @@ namespace InterfaceOff
private WindowBase AttachedWindow { get; set; }
public void SetAttachedTo(WindowBase window) => AttachedWindow = window;
public void WindowClicked() => AttachedWindow.OnWindowClicked();
public void WindowClicked() => AttachedWindow.OnWindowCloseButtonClicked();
}
}

View File

@@ -1,37 +1,60 @@
using System;
using System.Collections.Generic;
using Ext.B83.Unity.Attributes;
using UnityEngine;
using Random = UnityEngine.Random;
namespace InterfaceOff
{
[Serializable] public struct SpawnableWindowType
{
[field: SerializeField, MonoScript] private string Typename { get; set; }
public Type Type => Type.GetType(Typename);
[field: SerializeField] public int SpawnWeight { get; private set; }
}
public class WindowSpawner : MonoBehaviour
{
private List<Type> WindowTypes { get; } = new();
[field: SerializeField] private GameObject SampleChild { get; set; }
[field: SerializeField] private Canvas GameCanvas { get; set; }
[field: SerializeField] private SpawnableWindowType[] WindowTypes { get; set; }
private int TotalSpawnWeight { get; set; }
[field: SerializeField] public bool AutoSpawn { get; private set; } = true;
private void Awake()
{
/* Fetches all window types created */
Type[] types = typeof(WindowBase).Assembly.GetTypes();
foreach (Type t in types)
/* Logs the amount of types found and errors if there is none */
Debug.Log($"Found [{WindowTypes.Length}] different window types ");
if (WindowTypes.Length == 0)
{
if (t.IsSubclassOf(typeof(WindowBase)))
Debug.LogError("Could not find any window types");
return;
}
/* Calculates the total spawn weight */
TotalSpawnWeight = 0;
foreach (SpawnableWindowType type in WindowTypes)
{
TotalSpawnWeight += type.SpawnWeight;
}
}
private Type GetRandomWindowType()
{
int currentTypeWeight = Random.Range(0, TotalSpawnWeight);
foreach (SpawnableWindowType type in WindowTypes)
{
currentTypeWeight -= type.SpawnWeight;
if (currentTypeWeight <= 0)
{
WindowTypes.Add(t);
return type.Type;
}
}
/* Logs the amount of types found and errors if there is none */
Debug.Log($"Found [{WindowTypes.Count}] different window types ");
if (WindowTypes.Count == 0)
{
Debug.LogError("Could not find any window types");
}
return WindowTypes[0].Type;
}
private void SpawnNewRandomWindow()
@@ -40,7 +63,9 @@ namespace InterfaceOff
GameObject go = Instantiate(SampleChild, GameCanvas.transform);
go.SetActive(true);
Type type = WindowTypes.GetRandom();
Type type = GetRandomWindowType();
go.name = type.Name;
WindowBase windowBase = go.AddComponent(type) as WindowBase;
/* Checks it created correctly before instantiating further */

View File

@@ -1,13 +1,19 @@
namespace InterfaceOff
using UnityEngine;
namespace InterfaceOff
{
public class BasicWindow : WindowBase
{
public override void OnWindowInstantiation()
{
Components.InfoText.text = "Close";
/* Adds a random advert to the display */
Advert advert = AdvertRegistry.GetRandomAdvert();
Components.WindowImage.sprite = advert.Image;
Components.InfoText.text = advert.Name;
Components.WindowImage.color = new Color(1, 1, 1, 1);
}
public override void OnWindowClicked()
public override void OnWindowCloseButtonClicked()
{
Destroy(gameObject);
}

View File

@@ -21,11 +21,11 @@ namespace InterfaceOff
Components.InfoText.text = "Rotate";
/* Creates the images to rotate */
Sprite[] sprites = CanvasManager.Instance.Images.GetRandomSpriteSet();
Sprite[] sprites = ImageRegistry.GetRandomSpriteSet();
for (int i = 0; i < 4; i++)
{
/* Fetches/Creates needed components */
GameObject go = Instantiate(CanvasManager.Instance.ImagePrefab, transform);
GameObject go = Instantiate(PrefabRegistry.Instance.ImagePrefab, transform);
RectTransform t = go.GetComponent<RectTransform>();
t.sizeDelta = new Vector2(80, 80);
@@ -59,7 +59,7 @@ namespace InterfaceOff
}
}
public override void OnWindowClicked()
public override void OnWindowCloseButtonClicked()
{
if (m_TilesRotatedCorrectly == 4)
{

View File

@@ -4,28 +4,22 @@ namespace InterfaceOff
{
public class MovingWindow : WindowBase
{
private int m_Health = int.MaxValue;
public override void OnWindowInstantiation()
{
/* Creates a random health value */
m_Health = Random.Range(2, 6);
Components.InfoText.text = $"{m_Health}";
/* Adds a random advert to the display */
Advert advert = AdvertRegistry.GetRandomAdvert();
Components.WindowImage.sprite = advert.Image;
Components.InfoText.text = advert.Name;
Components.WindowImage.color = new Color(1, 1, 1, 1);
/* Calculates a random velocity direction */
float angle = Random.Range(0, Mathf.PI * 2);
Velocity = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle)) * 100;
}
public override void OnWindowClicked()
public override void OnWindowCloseButtonClicked()
{
/* Decreases health and destroys if at 0 */
m_Health--;
Components.InfoText.text = $"{m_Health}";
if (m_Health <= 0)
{
Destroy(gameObject);
}
Destroy(gameObject);
}
}
}

View File

@@ -0,0 +1,84 @@
using System.IO;
using UnityEngine;
using UnityEngine.UI;
namespace InterfaceOff
{
[System.Serializable] public struct TriviaQuestion
{
/* Disables name warnings because of JSON serialization */
// ReSharper disable once InconsistentNaming
public string question;
// ReSharper disable once InconsistentNaming
public string[] choices;
// ReSharper disable once InconsistentNaming
public string answer;
}
[System.Serializable] public struct TriviaSet
{
/* Disables name warnings because of JSON serialization */
// ReSharper disable once InconsistentNaming
public TriviaQuestion[] questions;
}
public class TriviaWindow : WindowBase
{
private static TriviaSet Trivia;
private static Vector2[] Positions { get; } =
{
new(-110, 30f),
new(110f, 30f),
new(-110, -60),
new(110f, -60)
};
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void LoadTriviaSet()
{
string path = Application.dataPath + "/Resources/Trivia.json";
string json = File.ReadAllText(path);
Trivia = JsonUtility.FromJson<TriviaSet>(json);
}
public override void OnWindowInstantiation()
{
/* Fetches a random question and sets it as the title */
TriviaQuestion question = Trivia.questions[Random.Range(0, Trivia.questions.Length)];
Components.InfoText.text = question.question;
Components.SetWidth(500); // Larger width is needed for this component that others
/* Adds the answer boxes */
for (int i = 0; i < 4; i++)
{
/* Creates the gameobject and fetches the needed components */
GameObject go = Instantiate(PrefabRegistry.Instance.TextButtonPrefab, transform);
Text text = go.GetComponentInChildren<Text>();
Button button = go.GetComponent<Button>();
/* Assigns needed info to the components */
text.text = question.choices[i];
RectTransform buttonTransform = button.GetComponent<RectTransform>();
buttonTransform.anchoredPosition = Positions[i];
buttonTransform.sizeDelta = new Vector2(200, 60);
/* Adds a lambda function to the button press to detect answers */
bool isCorrectButton = string.Equals(question.choices[i], question.answer);
button.onClick.AddListener(() =>
{
if (isCorrectButton)
{
DestroyWindow();
}
});
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3c11be2f2ebd10b4dafb50bb17c06112
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -5,25 +5,37 @@ namespace InterfaceOff
public class TrollWindow : WindowBase
{
private int m_Health = int.MaxValue;
private bool m_SpawnOnRight;
public override void OnWindowInstantiation()
{
/* Adds a random advert to the display */
Advert advert = AdvertRegistry.GetRandomAdvert();
Components.WindowImage.sprite = advert.Image;
Components.InfoText.text = advert.Name;
Components.WindowImage.color = new Color(1, 1, 1, 1);
/* Calculates a random health value */
m_Health = Random.Range(2, 6);
Components.InfoText.text = "TROLL";
}
public override void OnWindowClicked()
public override void OnWindowCloseButtonClicked()
{
/* Removes info text as it can overlap with the close button */
Components.InfoText.text = string.Empty;
/* Decreases health and destroys if at 0 */
m_Health--;
if (m_Health <= 0)
{
Destroy(gameObject);
DestroyWindow();
return;
}
/* If not at zero randomly moves the close button */
float randX = Random.Range(-80, 80);
float randX = m_SpawnOnRight ? Random.Range(20, 80) : Random.Range(-80, -20);
m_SpawnOnRight = !m_SpawnOnRight; // Makes sure the close button is semi far away
Components.CloseButtonRectTransform.anchoredPosition = new Vector2(randX, 0);
}
}