Single tile drawing and tile drawer staging, tile drawer object is dynamically setup with proper hideflags

ScriptableObjects are used to store color set data and the general tileset information, for the moment, saved onto the prefab
This commit is contained in:
Texel 2023-01-26 07:40:47 -05:00 committed by Touhexel
parent d83d04029d
commit 7034c1d662
42 changed files with 2114 additions and 42 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -45,16 +45,17 @@ public class GameBoard : EntityBase, IAutoSerialize, IAutoDeserialize {
[ContextMenu("Test Board Serialization")] [ContextMenu("Test Board Serialization")]
public void TestSerialize() { public void TestSerialize() {
board = BoardState.Copy(board); board = BoardState.Copy(board);
Debug.Log(board.ToHashtable()); //Debug.Log(board.ToHashtable());
} }
} }
#endregion #endregion
#region Board state related #region Tiles
public enum TileColor : byte { public enum TileColor : byte {
Empty = 0, Empty = 0, // Used for ID'ing air by color alone
Red = 1, Red = 1,
Blue = 2, Blue = 2,
Green = 3, Green = 3,
@ -67,13 +68,12 @@ public enum TileColor : byte {
Bomb = 202, // 3x3 radius destruction Bomb = 202, // 3x3 radius destruction
Dynamite = 203, // 5x5 cross destruction Dynamite = 203, // 5x5 cross destruction
Seal = 204, // destroys all matching color on landing Seal = 204, // destroys all matching color on landing
//Ice = 205, // Ice is handled as a detail
Mystery = 205, // Becomes random basic on destroy Mystery = 205, // Becomes random basic on destroy
Wildcard = 206, // Pairs with any Wildcard = 206, // Pairs with any
Spark = 207 // Removes entire column on create Spark = 207 // Removes entire column on create
} }
public enum TileDetail : byte { public enum TileDetail : byte { // Gets cast to byte a lot
None = 0x0, None = 0x0,
Air = 0x0, // None and Air as aliases Air = 0x0, // None and Air as aliases
Normal = 0x1, // Flag that tile exists Normal = 0x1, // Flag that tile exists
@ -81,7 +81,7 @@ public enum TileDetail : byte {
//Damaged = 0x04, // Used for Tanuki and Ice -- Actually unneccessary by replacement setup //Damaged = 0x04, // Used for Tanuki and Ice -- Actually unneccessary by replacement setup
Dropped = 0x08, // Flag for tiles that were just dropped, for smears Dropped = 0x08, // Flag for tiles that were just dropped, for smears
Fairy = 0x10, // do not clear air under this Fairy = 0x10, // do not clear air under this
/* 0x20 unused */ Poofed = 0x20, // Drawn as a cloud, freshly removed
Tanuki = 0x40, // Changes to a simple colored tile when it would expire Tanuki = 0x40, // Changes to a simple colored tile when it would expire
Ice = 0x80, // Same as Tanuki but doesn't change color Ice = 0x80, // Same as Tanuki but doesn't change color
} }
@ -119,6 +119,15 @@ public class TileInfo {
public TileInfo(TileColor c, byte detail = 1) { public TileInfo(TileColor c, byte detail = 1) {
// Make a new Tile from the color, assuming detail with a default // Make a new Tile from the color, assuming detail with a default
var ti = new TileInfo((byte)c & ((detail & (byte)0xFF) << 8)); var ti = new TileInfo((byte)c & ((detail & (byte)0xFF) << 8));
data = ti.data; // Create garbage but whatever
}
public TileInfo(TileColor c, params TileDetail[] deets) {
byte b = 0;
foreach (var detail in deets)
b |= (byte)detail;
var ti = new TileInfo(c, b);
data = ti.data; // More delicious garbage
} }
public TileInfo AsTanuki() { public TileInfo AsTanuki() {

View File

@ -0,0 +1,18 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameBoardDrawer : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}

View File

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

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a5a1671f2bf6f9341b8ec7fc994dcc9e guid: 167536d1e2d2ffd4aa2b730059552fab
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -0,0 +1,920 @@
fileFormatVersion: 2
guid: ba7046a7d637abc4ba486e3e9e4fcfd3
TextureImporter:
internalIDToNameTable:
- first:
213: -8095011478633053862
second: R
- first:
213: 3099831667949783345
second: B
- first:
213: -6936698821596298334
second: G
- first:
213: 4141482394071947919
second: Pk
- first:
213: -7185840347270642116
second: Pr
- first:
213: 6097206691055106581
second: RTop
- first:
213: -1032256510885150944
second: BTop
- first:
213: 6772703886551230350
second: GTop
- first:
213: 4445955820842774327
second: PkTop
- first:
213: -6426366480920576982
second: PrTop
- first:
213: -6342289963352867352
second: RMid
- first:
213: -8030095101517931983
second: BMid
- first:
213: -6218849779353356174
second: GMid
- first:
213: -8603880206502384168
second: PkMid
- first:
213: 2523502825781429886
second: PrMid
- first:
213: 5014738581755115245
second: RBase
- first:
213: 7642638768051401269
second: BBase
- first:
213: 4496032024674485847
second: GBase
- first:
213: 7082931030690222455
second: PkBase
- first:
213: 4109463514366588313
second: PrBase
- first:
213: -6448450525655386441
second: RPuff
- first:
213: 6779516872222990126
second: BPuff
- first:
213: 8143975012507443829
second: GPuff
- first:
213: -3766147651135259226
second: PkPuff
- first:
213: -316062629822355126
second: PrPuff
- first:
213: -5160244557152387853
second: Ice Overlay
- first:
213: -5868263060078136879
second: Fairy Underlay
- first:
213: 3630433040384085778
second: Tanuki Overlay
- first:
213: -7609849284663780198
second: Rock
- first:
213: -6920159131614611936
second: Bomb
- first:
213: 5530267107363011928
second: Dynamite
- first:
213: -4610881938015499699
second: Splosion FX
- first:
213: -2297644416909811431
second: Seal
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 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
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: R
rect:
serializedVersion: 2
x: 0
y: 448
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a510e5b03fdb8af80800000000000000
internalID: -8095011478633053862
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: B
rect:
serializedVersion: 2
x: 64
y: 448
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 13947a77a70d40b20800000000000000
internalID: 3099831667949783345
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: G
rect:
serializedVersion: 2
x: 128
y: 448
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 2a3c1e88c25ebbf90800000000000000
internalID: -6936698821596298334
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Pk
rect:
serializedVersion: 2
x: 192
y: 448
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: f8a513e7b40897930800000000000000
internalID: 4141482394071947919
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Pr
rect:
serializedVersion: 2
x: 256
y: 448
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: c368340c644c64c90800000000000000
internalID: -7185840347270642116
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: RTop
rect:
serializedVersion: 2
x: 0
y: 384
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 51a797e5e21ad9450800000000000000
internalID: 6097206691055106581
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BTop
rect:
serializedVersion: 2
x: 64
y: 384
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 02f3b972c20bca1f0800000000000000
internalID: -1032256510885150944
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GTop
rect:
serializedVersion: 2
x: 128
y: 384
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e872bce2d4a7dfd50800000000000000
internalID: 6772703886551230350
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PkTop
rect:
serializedVersion: 2
x: 192
y: 384
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 73fe96c634533bd30800000000000000
internalID: 4445955820842774327
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PrTop
rect:
serializedVersion: 2
x: 256
y: 383
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a2c7044ebb5f0d6a0800000000000000
internalID: -6426366480920576982
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: RMid
rect:
serializedVersion: 2
x: 0
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 8edb3d791e8abf7a0800000000000000
internalID: -6342289963352867352
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BMid
rect:
serializedVersion: 2
x: 64
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 13a5b69ec0f5f8090800000000000000
internalID: -8030095101517931983
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GMid
rect:
serializedVersion: 2
x: 128
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 2787026131532b9a0800000000000000
internalID: -6218849779353356174
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PkMid
rect:
serializedVersion: 2
x: 192
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 8dd29699980e89880800000000000000
internalID: -8603880206502384168
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PrMid
rect:
serializedVersion: 2
x: 256
y: 320
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e7685603378450320800000000000000
internalID: 2523502825781429886
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: RBase
rect:
serializedVersion: 2
x: 0
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: de6b5febb2ee79540800000000000000
internalID: 5014738581755115245
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BBase
rect:
serializedVersion: 2
x: 64
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5323554977b101a60800000000000000
internalID: 7642638768051401269
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GBase
rect:
serializedVersion: 2
x: 128
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 756c0813e4d156e30800000000000000
internalID: 4496032024674485847
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PkBase
rect:
serializedVersion: 2
x: 192
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 771d1e4de30ab4260800000000000000
internalID: 7082931030690222455
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PrBase
rect:
serializedVersion: 2
x: 256
y: 256
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 995bf3f1b4fb70930800000000000000
internalID: 4109463514366588313
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: RPuff
rect:
serializedVersion: 2
x: 0
y: 191
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7b631aa89608286a0800000000000000
internalID: -6448450525655386441
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: BPuff
rect:
serializedVersion: 2
x: 64
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e2f5e950daea51e50800000000000000
internalID: 6779516872222990126
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: GPuff
rect:
serializedVersion: 2
x: 128
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 572e9201026350170800000000000000
internalID: 8143975012507443829
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PkPuff
rect:
serializedVersion: 2
x: 192
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 6ad396a4aa4fbbbc0800000000000000
internalID: -3766147651135259226
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: PrPuff
rect:
serializedVersion: 2
x: 256
y: 192
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a49a9a676be1d9bf0800000000000000
internalID: -316062629822355126
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Ice Overlay
rect:
serializedVersion: 2
x: 0
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 3fcf9c85ae02368b0800000000000000
internalID: -5160244557152387853
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Fairy Underlay
rect:
serializedVersion: 2
x: 192
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 1d1fe7796ddbf8ea0800000000000000
internalID: -5868263060078136879
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Tanuki Overlay
rect:
serializedVersion: 2
x: 256
y: 128
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 21f4fe88d93e16230800000000000000
internalID: 3630433040384085778
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Rock
rect:
serializedVersion: 2
x: 0
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a9cda51f462646690800000000000000
internalID: -7609849284663780198
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Bomb
rect:
serializedVersion: 2
x: 64
y: 63
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 0267fe23fe7a6ff90800000000000000
internalID: -6920159131614611936
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Dynamite
rect:
serializedVersion: 2
x: 128
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 85d366f22a47fbc40800000000000000
internalID: 5530267107363011928
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Splosion FX
rect:
serializedVersion: 2
x: 192
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d4a425f8e4bd200c0800000000000000
internalID: -4610881938015499699
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Seal
rect:
serializedVersion: 2
x: 256
y: 64
width: 64
height: 64
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 9116ee583902d10e0800000000000000
internalID: -2297644416909811431
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: d46ad48a52fe0784f926b748c0940786
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 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: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: a9460066ae352e243bf34d96838f262f
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 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: 1
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: a9e670155cf9e07458e22d2649a8e75e guid: 9b61b8e7bbbf0e842acf67d0f5236d59
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 295ac802c88cd48448df9ecb56c7fb04 guid: 33cb94e9a027acf489c0e6dbccb85267
folderAsset: yes folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}

View File

@ -0,0 +1,23 @@
%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: fb5a560c08dbb0c4480cebd43af4d199, type: 3}
m_Name: BlueTiles
m_EditorClassIdentifier:
color: 2
Generic: {fileID: 3099831667949783345, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
TopOfStack: {fileID: -1032256510885150944, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
SecondFromTop: {fileID: -8030095101517931983, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
ThirdOrLower: {fileID: 7642638768051401269, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Puff: {fileID: 6779516872222990126, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}

View File

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

View File

@ -0,0 +1,24 @@
%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: fb5a560c08dbb0c4480cebd43af4d199, type: 3}
m_Name: GreenTiles
m_EditorClassIdentifier:
color: 3
Generic: {fileID: -6936698821596298334, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
TopOfStack: {fileID: 6772703886551230350, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
SecondFromTop: {fileID: -6218849779353356174, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
ThirdOrLower: {fileID: 4496032024674485847, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Puff: {fileID: 8143975012507443829, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}

View File

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

View File

@ -0,0 +1,23 @@
%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: fb5a560c08dbb0c4480cebd43af4d199, type: 3}
m_Name: PinkTiles
m_EditorClassIdentifier:
color: 4
Generic: {fileID: 4141482394071947919, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
TopOfStack: {fileID: 4445955820842774327, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
SecondFromTop: {fileID: -8603880206502384168, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
ThirdOrLower: {fileID: 7082931030690222455, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Puff: {fileID: -3766147651135259226, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}

View File

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

View File

@ -0,0 +1,24 @@
%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: fb5a560c08dbb0c4480cebd43af4d199, type: 3}
m_Name: PurpleTiles
m_EditorClassIdentifier:
color: 5
Generic: {fileID: -7185840347270642116, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
TopOfStack: {fileID: -6426366480920576982, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
SecondFromTop: {fileID: 2523502825781429886, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
ThirdOrLower: {fileID: 4109463514366588313, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Puff: {fileID: -316062629822355126, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}

View File

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

View File

@ -0,0 +1,24 @@
%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: fb5a560c08dbb0c4480cebd43af4d199, type: 3}
m_Name: RedTiles
m_EditorClassIdentifier:
color: 1
Generic: {fileID: -8095011478633053862, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
TopOfStack: {fileID: 6097206691055106581, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
SecondFromTop: {fileID: -6342289963352867352, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
ThirdOrLower: {fileID: 5014738581755115245, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Puff: {fileID: -6448450525655386441, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}

View File

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

View File

@ -0,0 +1,330 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &898234119
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 898234122}
- component: {fileID: 898234121}
- component: {fileID: 898234120}
m_Layer: 5
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &898234120
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 898234119}
m_Enabled: 1
--- !u!20 &898234121
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 898234119}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 0.5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &898234122
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 898234119}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 3.0524473, y: -1.2401004, z: -4.110893}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &6929433237651804210
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 6929433238081324624, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324624, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_Color.a
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324624, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_WasSpriteAssigned
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: color
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: detail
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: opacity
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: toDraw.data
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: smearOpacity
value: 0.319
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: stackedBelow
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: SmearDistance
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324625, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: amountInStack
value: 2
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324627, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_Name
value: TileDrawer
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalPosition.x
value: 3.213
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalPosition.y
value: -1.146
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalPosition.z
value: -2.5745568
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6929433238081324630, guid: 2d35555d89dd5e94fb9527d52c616c11,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2d35555d89dd5e94fb9527d52c616c11, type: 3}

View File

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

View File

@ -0,0 +1,105 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6929433238081324627
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6929433238081324630}
- component: {fileID: 6929433238081324625}
- component: {fileID: 6929433238081324624}
m_Layer: 0
m_Name: TileDrawer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6929433238081324630
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6929433238081324627}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 3.227, y: -1.094, z: -2.5745568}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6929433238081324625
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6929433238081324627}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5586c75046d16b9428e4c952221e7958, type: 3}
m_Name:
m_EditorClassIdentifier:
tsi: {fileID: 11400000, guid: 18b884ffdbcbecd489662f53d8e1b44d, type: 2}
toDraw:
data: 800
detail: 32
color: 3
stackedBelow: 0
amountInStack: 0
opacity: 0.251
--- !u!212 &6929433238081324624
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6929433238081324627}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: -6936698821596298334, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 0.251}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.64, y: 0.64}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View File

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

View File

@ -0,0 +1,35 @@
%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: ff39ff46b446ae04da9edf207d6b2e83, type: 3}
m_Name: TileSet
m_EditorClassIdentifier:
Tiles:
- {fileID: 11400000, guid: 660fda3dd63d4ad4393952eaad8f0ae9, type: 2}
- {fileID: 11400000, guid: d719faa447758a14f88d8ae25cbae64d, type: 2}
- {fileID: 11400000, guid: 196941731704d204f885aa54cbb5b8bf, type: 2}
- {fileID: 11400000, guid: 23186780cfc3a1347acd561444139cc7, type: 2}
- {fileID: 11400000, guid: 0922e1e6b1ed5124ca13b943384610ee, type: 2}
IceOverlay: {fileID: -5160244557152387853, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
FairyUnderlay: {fileID: -5868263060078136879, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Tanuki: {fileID: 3630433040384085778, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
Rock: {fileID: -7609849284663780198, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
Seal: {fileID: -2297644416909811431, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
Bomb: {fileID: -6920159131614611936, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
Dynamite: {fileID: 5530267107363011928, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Mystery: {fileID: -4610881938015499699, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}
Spark: {fileID: -4610881938015499699, guid: ba7046a7d637abc4ba486e3e9e4fcfd3, type: 3}
Explosion: {fileID: -4610881938015499699, guid: ba7046a7d637abc4ba486e3e9e4fcfd3,
type: 3}

View File

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

View File

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

View File

@ -0,0 +1,218 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[ExecuteAlways]
public class TileDrawer : MonoBehaviour {
[Header("Managed externally")]
public TileSetInfo tsi;
public TileInfo toDraw;
[Header("Tile Info Testing")]
//[EnumFlag] No idea why this isn't working anymore whatever
public TileDetail detail = TileDetail.Normal;
public TileColor color;
void OnValidate() {
if (toDraw == null) {
toDraw = new TileInfo(color,detail);
}
toDraw.color = color;
toDraw.detail = detail;
}
[Header("Updated Externally")]
public int stackedBelow = 0; // Used to select overlays
public int amountInStack = 0; // Updated externally
SpriteRenderer Underlay, Overlay;
[Range(0, 1)]
public float opacity = 1f, smearOpacity = 1f;
#region Deferred setup under/overlays
void SetUnderlay(Sprite sp) {
if (Underlay) {
Underlay.sprite = sp;
return;
}
var sr = GetComponent<SpriteRenderer>(); // sprite renderer cache
var subRenderer = new GameObject("Underlay Drawer", typeof(SpriteRenderer));
subRenderer.hideFlags = HideFlags.DontSave;
subRenderer.transform.SetParent(transform, false); // Direct parent, literal transform setup
var underlayRenderer = subRenderer.GetComponent<SpriteRenderer>();
underlayRenderer.sortingLayerID = sr.sortingLayerID;
underlayRenderer.sortingOrder = sr.sortingOrder - 1; // Draw under the normal renderer
underlayRenderer.sprite = sp;
Underlay = underlayRenderer;
}
SpriteRenderer[] Smear;
int SmearSteps = 32;
[Range(0,1f)]
public float SmearDistance = 1f;
void SetSmear(Sprite sp, float opacityShift = 1f) {
// Setup the smear set
if (Smear == null) {
var tempSmears = new List<SpriteRenderer>();
var sr = GetComponent<SpriteRenderer>();
for (int i = 0; i < SmearSteps; ++i) {
var smearRenderer = new GameObject(string.Format("Smear {0}", i));
smearRenderer.hideFlags = HideFlags.HideAndDontSave;
smearRenderer.transform.SetParent(transform,false);
var smearSR = smearRenderer.AddComponent<SpriteRenderer>();
smearSR.sortingLayerID = sr.sortingLayerID;
smearSR.sortingOrder = sr.sortingOrder - 2; // Draw under underlays
tempSmears.Add(smearSR);
}
Smear = tempSmears.ToArray();
}
for(int i = 0; i < Smear.Length; ++i) {
var layer = Smear[i];
var delta = ((float)(i+1)) / SmearSteps;
// Shift smeared sub-sprite to position
layer.transform.localPosition =
new Vector3(0, delta * SmearDistance, 0);
// Set the smear opacity
var layerOpacity = opacity * opacityShift * (1 - delta);
// Cool ramp
layerOpacity *= layerOpacity;
layer.color = new Color(1, 1, 1, layerOpacity);
layer.enabled = layerOpacity > Mathf.Epsilon && SmearDistance > 0;
layer.sprite = sp;
}
}
void SetOverlay(Sprite sp) {
if (Overlay) {
Overlay.sprite = sp;
return;
}
var sr = GetComponent<SpriteRenderer>(); // sprite renderer cache
var subRenderer = new GameObject("Overlay Drawer", typeof(SpriteRenderer));
subRenderer.hideFlags = HideFlags.DontSave;
subRenderer.transform.SetParent(transform, false); // Direct parent, literal transform setup
var overlayRenderer = subRenderer.GetComponent<SpriteRenderer>();
overlayRenderer.sortingLayerID = sr.sortingLayerID;
overlayRenderer.sortingOrder = sr.sortingOrder + 1; // Draw under the normal renderer
overlayRenderer.sprite = sp;
Overlay = overlayRenderer;
}
#endregion
void UpdateOpacity(SpriteRenderer sr) {
var color = new Color(1, 1, 1, opacity);
sr.color = color;
if (Underlay) Underlay.color = color;
if (Overlay) Overlay.color = color;
}
// TODO Add wildcard Mystery Spark handlers
void Update() {
if (!tsi) return;
if (toDraw == null) return;
// Copy the data from the TileInfo reference to local enums
color = toDraw.color;
detail = toDraw.detail;
var sr = GetComponent<SpriteRenderer>();
if (!sr) sr = gameObject.AddComponent<SpriteRenderer>();
UpdateOpacity(sr);
var deets = tsi[color];
Sprite sprite = null;
if (deets != null) {
sprite = deets.Generic;
// Base of stack
if (amountInStack != 0) {
sprite = deets.ThirdOrLower;
if (stackedBelow == 1)
sprite = deets.SecondFromTop;
if (stackedBelow == 2)
sprite = deets.TopOfStack;
}
// non-snowman-y states
if (detail.HasFlag(TileDetail.Poofed))
sprite = deets.Puff;
} else {
// no matching TileObject data
switch (color) {
case TileColor.Rock:
sprite = tsi.Rock;
break;
case TileColor.Seal:
sprite = tsi.Seal;
break;
case TileColor.Dynamite:
sprite = tsi.Dynamite;
break;
case TileColor.Bomb:
sprite = tsi.Bomb;
break;
}
}
sr.sprite = sprite;
SetSmear(sprite, sprite == null ? 0 : smearOpacity);
// Handle Overlays
bool hasOverlay = false;
if (detail.HasFlag(TileDetail.Ice)) {
SetOverlay(tsi.IceOverlay);
hasOverlay = true;
}
if (detail.HasFlag(TileDetail.Tanuki)) {
SetOverlay(tsi.Tanuki);
hasOverlay = true;
}
if (!hasOverlay)
SetOverlay(null); // Clear the overlay sprite
bool hasUnderlay = false;
if (detail.HasFlag(TileDetail.Fairy)) {
SetUnderlay(tsi.FairyUnderlay);
hasUnderlay = true;
}
if (!hasUnderlay)
SetUnderlay(null);
}
}

View File

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

View File

@ -0,0 +1,18 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "TileSpriteInfo", menuName = "Gameplay/TileSpriteInfo", order = 1)]
public class TileObject : ScriptableObject {
public TileColor color;
[Header("Generic icon for this type of tile")]
public Sprite Generic;
[Header("Stacked")]
public Sprite TopOfStack;
public Sprite SecondFromTop;
public Sprite ThirdOrLower;
[Header("Puff of smoke for when tile is destroyed")]
public Sprite Puff;
}

View File

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

View File

@ -0,0 +1,35 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "TileSetInfo", menuName = "Gameplay/TileSetInfo", order = 1)]
public class TileSetInfo : ScriptableObject {
[Header("Per-color settings / setup")]
public TileObject[] Tiles;
Dictionary<TileColor, TileObject> _TileLookup;
void BuildLookup() {
_TileLookup = new Dictionary<TileColor, TileObject>();
foreach (var tile in Tiles)
_TileLookup.Add(tile.color, tile);
}
public TileObject this[TileColor tc] {
get {
if (_TileLookup == null) BuildLookup();
bool exists = _TileLookup.TryGetValue(tc, out TileObject to);
if (exists) return to;
return null; // return null if we don't got anything
}
}
[Header("Layered")]
public Sprite IceOverlay;
public Sprite FairyUnderlay, Tanuki;
[Header("Special tile sprites")]
public Sprite Rock;
public Sprite Seal, Bomb, Dynamite, Mystery, Spark, Explosion;
}

View File

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