A good amount of changes. Tired, can barely focus.

This commit is contained in:
That-One-Nerd 2025-01-14 03:21:59 -05:00
parent 30dcdd7726
commit 431198f8de
28 changed files with 14648 additions and 103 deletions

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -234,8 +234,8 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1330ef2fd72a7d743bc5a0df5b512a17, type: 3}
m_Name:
m_EditorClassIdentifier:
ScreenBuffer: 0.05
MinSize: 0
ScreenBuffer: 0.2
MinSize: 5
--- !u!20 &519420031
Camera:
m_ObjectHideFlags: 0
@ -246,7 +246,7 @@ Camera:
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.35, g: 0.35, b: 0.35, a: 0}
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
@ -461,54 +461,6 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &789187427
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 789187429}
- component: {fileID: 789187428}
m_Layer: 0
m_Name: Robbery Starting Room
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &789187428
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 789187427}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6268a80b1893dea4da88a977847d0df1, type: 3}
m_Name:
m_EditorClassIdentifier:
Bounds: []
Doors: []
Weight: 1
CanBeRotated: 0
--- !u!4 &789187429
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 789187427}
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_Children:
- {fileID: 1393930126}
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &831196415
GameObject:
m_ObjectHideFlags: 0
@ -521,6 +473,7 @@ GameObject:
- component: {fileID: 831196416}
- component: {fileID: 831196418}
- component: {fileID: 831196419}
- component: {fileID: 831196420}
m_Layer: 0
m_Name: Player
m_TagString: Untagged
@ -540,6 +493,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 551407ec35a35fd47a2263691be113ea, type: 3}
m_Name:
m_EditorClassIdentifier:
Active: 1
BaseStats: {fileID: 11400000, guid: 327779ba20a967442b19ba7bb367cf59, type: 2}
Inventory: {fileID: 11400000, guid: 8b0285ffb9a559e4c9a618a7d8fa3924, type: 2}
Room: {fileID: 0}
@ -600,7 +554,7 @@ SpriteRenderer:
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_SortingOrder: 50
m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
@ -632,7 +586,33 @@ Rigidbody2D:
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
m_Constraints: 4
--- !u!61 &831196420
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 831196415}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 0
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 1, y: 1}
newSize: {x: 0.16, y: 0.16}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!1 &943628639
GameObject:
m_ObjectHideFlags: 0
@ -742,6 +722,120 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: -2}
m_SizeDelta: {x: 4, y: 8}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1139383253
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1139383257}
- component: {fileID: 1139383256}
- component: {fileID: 1139383255}
- component: {fileID: 1139383254}
- component: {fileID: 1139383258}
m_Layer: 5
m_Name: Transition Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1139383254
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1139383253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1139383255
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1139383253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 1920, y: 1080}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1139383256
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1139383253}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &1139383257
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1139383253}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1910749129}
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1139383258
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1139383253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 08fafa465d88e6b48bf3cbea139f86cf, type: 3}
m_Name:
m_EditorClassIdentifier:
FadeTimeTotal: 0.25
--- !u!1 &1293669682
GameObject:
m_ObjectHideFlags: 0
@ -976,36 +1070,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1380888464}
m_CullTransparentMesh: 1
--- !u!1 &1393930125
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1393930126}
m_Layer: 0
m_Name: Bounds
m_TagString: RoomBounds
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1393930126
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1393930125}
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_Children: []
m_Father: {fileID: 789187429}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1684527723
GameObject:
m_ObjectHideFlags: 0
@ -1182,7 +1246,8 @@ MonoBehaviour:
m_EditorClassIdentifier:
DungeonRoot: {fileID: 754085558}
RoomCountRange: {x: 50, y: 200}
StartingRoomPrefab: {fileID: 2101345830686511701, guid: e460ac35ac4587e498e7133f9e3962cf, type: 3}
StartingRoomPrefab: {fileID: 2313894743268809394, guid: f7ee946286fae834292d0ace928c0306, type: 3}
MaxRetries: 5
OnDungeonRegenerated:
m_PersistentCalls:
m_Calls: []
@ -1200,6 +1265,78 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1910749128
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1910749129}
- component: {fileID: 1910749131}
- component: {fileID: 1910749130}
m_Layer: 5
m_Name: Black
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1910749129
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1910749128}
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_Children: []
m_Father: {fileID: 1139383257}
m_RootOrder: 0
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!114 &1910749130
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1910749128}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!222 &1910749131
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1910749128}
m_CullTransparentMesh: 1
--- !u!1 &1982289466
GameObject:
m_ObjectHideFlags: 0

View File

@ -2,6 +2,9 @@ using UnityEngine;
public class PlayerController : MonoBehaviour
{
public bool Active;
[Header("Data")]
public PlayerStats BaseStats;
public PlayerInventory Inventory;
@ -22,6 +25,8 @@ public class PlayerController : MonoBehaviour
private void Awake()
{
Active = true;
cam = FindObjectOfType<CameraController>();
generator = FindObjectOfType<DungeonGenerator>();
rb = GetComponent<Rigidbody2D>();
@ -43,6 +48,12 @@ public class PlayerController : MonoBehaviour
private void MovementTick()
{
if (!Active)
{
rb.velocity = Vector2.zero;
return;
}
Vector2 axis = new Vector2(Input.GetAxisRaw("Horizontal"),
Input.GetAxisRaw("Vertical"));
rb.velocity = Vector2.ClampMagnitude(axis, 1) * Speed;

View File

@ -11,6 +11,7 @@ public class DungeonGenerator : Singleton<DungeonGenerator>
public Transform DungeonRoot;
public Vector2Int RoomCountRange;
public RoomObject StartingRoomPrefab;
public int MaxRetries;
[Header("Callbacks")]
public UnityEvent OnDungeonRegenerated;
@ -26,18 +27,21 @@ public class DungeonGenerator : Singleton<DungeonGenerator>
private void Update()
{
if (Input.GetKeyDown(KeyCode.Return))
if (Application.isEditor && Input.GetKeyDown(KeyCode.Return))
{
foreach (Transform child in DungeonRoot.transform)
{
Destroy(child.gameObject);
}
MakeDungeon();
}
}
public void MakeDungeon()
public void MakeDungeon() => MakeDungeon(MaxRetries);
private void MakeDungeon(int retries)
{
// Delete previous rooms.
foreach (Transform child in DungeonRoot)
{
Destroy(child.gameObject);
}
int rooms = Random.Range(RoomCountRange.x, RoomCountRange.y + 1);
Debug.Log($"Attempting to generate {rooms} rooms.");
@ -50,6 +54,8 @@ public class DungeonGenerator : Singleton<DungeonGenerator>
unassignedDoors.AddRange(startingRoom.Doors);
DungeonStartingRoom = startingRoom;
List<Collider2D> hitBuffer = new List<Collider2D>();
while (rooms > 0 && unassignedDoors.Count > 0)
{
// Pick a random available door (weighted).
@ -125,7 +131,6 @@ public class DungeonGenerator : Singleton<DungeonGenerator>
// Pick a random door in this room that fits the tag.
RoomObject chosenRoomClone = Instantiate(chosenRoom, DungeonRoot);
chosenRoomClone.gameObject.SetActive(false);
chosenRoomClone.name = $"Room {addedRooms.Count}"; // - {chosenRoom.name}"
List<RoomDoor> tempDoors = new List<RoomDoor>(chosenRoomClone.Doors);
_retryOtherDoor:
@ -188,16 +193,17 @@ public class DungeonGenerator : Singleton<DungeonGenerator>
for (int i = 0; i < chosenRoomClone.Bounds.Length; i++)
{
Collider2D toCheck = chosenRoomClone.Bounds[i];
List<Collider2D> hits = new List<Collider2D>();
ContactFilter2D filter = new ContactFilter2D();
filter.NoFilter();
filter.SetLayerMask(1 << 6);
toCheck.OverlapCollider(filter, hits);
hits = hits.Where(x => !chosenRoomClone.Bounds.Contains(x)).ToList();
if (hits.Count > 0)
hitBuffer.Clear();
toCheck.OverlapCollider(filter, hitBuffer);
if (hitBuffer.Count(x => !chosenRoomClone.Bounds.Contains(x)) > 0)
{
// Overlapping another room, try a different orientation.
// TODO: This could be optimized by using an array, maybe.
tempDoors.Remove(otherDoor);
goto _retryOtherDoor;
}
@ -222,7 +228,27 @@ public class DungeonGenerator : Singleton<DungeonGenerator>
// Make all remaining unavailable doors disabled.
foreach (RoomDoor door in unassignedDoors) door.Disabled = true;
if (addedRooms.Count < RoomCountRange.x && retries > 0)
{
// Too small, let's retry the whole thing.
Debug.Log($"Only generated {addedRooms.Count} rooms! Let's try that again...");
MakeDungeon(retries - 1);
return;
}
// Dungeon completed, invoke callback.
OnDungeonRegenerated.Invoke();
UpdateActiveRoom(startingRoom);
}
public void UpdateActiveRoom(RoomObject activeRoom)
{
GameObject obj = activeRoom.gameObject;
for (int i = 0; i < DungeonRoot.childCount; i++)
{
GameObject child = DungeonRoot.GetChild(i).gameObject;
child.SetActive(child == obj);
}
}
}

View File

@ -1,3 +1,5 @@
using UnityEngine;
public class RoomDoor : RoomItem
{
public float AssignWeight = 1;
@ -5,4 +7,42 @@ public class RoomDoor : RoomItem
public bool Disabled;
public string[] Tags;
public TagWeight[] AllowedMatches;
private PlayerController player;
private SpriteRenderer sr;
protected override void Awake()
{
base.Awake();
player = FindObjectOfType<PlayerController>();
sr = GetComponentInChildren<SpriteRenderer>();
}
protected override void Update()
{
base.Update();
if (!Application.isPlaying) Awake();
if (sr != null)
{
if (Disabled) sr.color = Color.black;
else sr.color = Color.white;
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject == player.gameObject)
{
if (Disabled || TransitionManager.Instance.Transitioning) return;
player.Active = false;
TransitionManager.Instance.Transition(() =>
{
DungeonGenerator.Instance.UpdateActiveRoom(Match.ParentRoom);
player.Room = Match.ParentRoom;
player.transform.position = Match.transform.position + Match.transform.up * 1.5f;
player.Active = true;
});
}
}
}

View File

@ -5,12 +5,12 @@ public abstract class RoomItem : MonoBehaviour
{
public RoomObject ParentRoom { get; private set; }
private void Awake()
protected virtual void Awake()
{
ParentRoom = GetComponentInParent<RoomObject>();
}
private void Update()
protected virtual void Update()
{
if (!Application.isPlaying)
{
@ -18,9 +18,8 @@ public abstract class RoomItem : MonoBehaviour
return;
}
}
private void EditorUpdate()
protected virtual void EditorUpdate()
{
Awake();
if (ParentRoom == null)
{
Debug.LogError("A room item must have a parent room.");
@ -28,8 +27,8 @@ public abstract class RoomItem : MonoBehaviour
}
}
private void OnDrawGizmosSelected()
protected virtual void OnDrawGizmosSelected()
{
ParentRoom.OnDrawGizmosSelected();
if (ParentRoom != null) ParentRoom.OnDrawGizmosSelected();
}
}

View File

@ -5,7 +5,7 @@ public abstract class Singleton<T> : MonoBehaviour
{
public static T Instance { get; private set; }
private void Awake()
protected virtual void Awake()
{
if (Instance != null)
{

View File

@ -0,0 +1,50 @@
using System;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
public class TransitionManager : Singleton<TransitionManager>
{
public bool Transitioning { get; private set; }
[Header("Properties")]
public float FadeTimeTotal;
private RawImage image;
protected override void Awake()
{
base.Awake();
image = GetComponentInChildren<RawImage>();
}
public void Transition(Action onBlackened)
{
if (Transitioning) return;
DoTransition(onBlackened);
}
private async void DoTransition(Action callback)
{
Transitioning = true;
float fadeTime = Mathf.Max(FadeTimeTotal * 0.5f, Time.deltaTime * 2);
// Fade in over half a second.
for (float t = 0; t <= fadeTime; t += Time.deltaTime)
{
image.color = new Color(0, 0, 0, t / fadeTime);
await Task.Yield();
}
callback();
// Fade out over half a second.
for (float t = 0; t <= fadeTime; t += Time.deltaTime)
{
image.color = new Color(0, 0, 0, 1 - t / fadeTime);
await Task.Yield();
}
Transitioning = false;
}
}

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 B

View File

@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 1ddb72de9343e1c4b829c579aa24f197
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
vTOnly: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 32
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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: 129 B

View File

@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: d8e7c995f3e86d84eabf702b67ecdd21
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
vTOnly: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 32
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
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: 6.7 KiB

View File

@ -0,0 +1,708 @@
fileFormatVersion: 2
guid: 60697ce531fabdb4cb2c1fc0e2c6d235
TextureImporter:
internalIDToNameTable:
- first:
213: 6875648249714394694
second: item tiles_0
- first:
213: -7967496435252632274
second: item tiles_1
- first:
213: -8545928998242120723
second: item tiles_2
- first:
213: 5033367920199959645
second: item tiles_3
- first:
213: -8926507767057694651
second: item tiles_4
- first:
213: 7030572338717050382
second: item tiles_5
- first:
213: 3539732772655555301
second: item tiles_6
- first:
213: 4913964652466557161
second: item tiles_7
- first:
213: -1208269271784929689
second: item tiles_8
- first:
213: -5409916650697737234
second: item tiles_9
- first:
213: -8960575764098600098
second: item tiles_10
- first:
213: -7582684169089294186
second: item tiles_11
- first:
213: -6903014032083214035
second: item tiles_12
- first:
213: 2833953690487032856
second: item tiles_13
- first:
213: 9137165071536870620
second: item tiles_14
- first:
213: -5700229435291122519
second: item tiles_15
- first:
213: -273441059321034801
second: item tiles_16
- first:
213: -5847519239801416737
second: item tiles_17
- first:
213: 7248463128536757410
second: item tiles_18
- first:
213: -7727799749662403737
second: item tiles_19
- first:
213: -1495879123027852242
second: item tiles_20
- first:
213: -2254830726222060429
second: item tiles_21
- first:
213: -8836183435823746170
second: item tiles_22
- first:
213: 7199319945040226180
second: item tiles_23
- first:
213: 456318871006054919
second: item tiles_24
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
vTOnly: 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: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 32
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
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: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: item tiles_0
rect:
serializedVersion: 2
x: 0
y: 128
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 64643c487a53b6f50800000000000000
internalID: 6875648249714394694
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_1
rect:
serializedVersion: 2
x: 32
y: 128
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e25639ba434cd6190800000000000000
internalID: -7967496435252632274
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_2
rect:
serializedVersion: 2
x: 64
y: 128
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: deb8118bad2c66980800000000000000
internalID: -8545928998242120723
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_3
rect:
serializedVersion: 2
x: 96
y: 128
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d548d5b947d1ad540800000000000000
internalID: 5033367920199959645
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_4
rect:
serializedVersion: 2
x: 128
y: 128
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 540c2c30b7cae1480800000000000000
internalID: -8926507767057694651
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_5
rect:
serializedVersion: 2
x: 0
y: 96
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e06cae0ea4c919160800000000000000
internalID: 7030572338717050382
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_6
rect:
serializedVersion: 2
x: 32
y: 96
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5e261f1d338af1130800000000000000
internalID: 3539732772655555301
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_7
rect:
serializedVersion: 2
x: 64
y: 96
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 9e0581de0d8e13440800000000000000
internalID: 4913964652466557161
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_8
rect:
serializedVersion: 2
x: 96
y: 96
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7664d3ebf7d5b3fe0800000000000000
internalID: -1208269271784929689
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_9
rect:
serializedVersion: 2
x: 128
y: 96
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: eebb0ba187d1ce4b0800000000000000
internalID: -5409916650697737234
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_10
rect:
serializedVersion: 2
x: 0
y: 64
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e53bde551d3a5a380800000000000000
internalID: -8960575764098600098
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_11
rect:
serializedVersion: 2
x: 32
y: 64
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 69064794ce4e4c690800000000000000
internalID: -7582684169089294186
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_12
rect:
serializedVersion: 2
x: 64
y: 64
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: d21a422cf419330a0800000000000000
internalID: -6903014032083214035
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_13
rect:
serializedVersion: 2
x: 96
y: 64
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 81c0367ddd9345720800000000000000
internalID: 2833953690487032856
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_14
rect:
serializedVersion: 2
x: 128
y: 64
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: cd4df07c83bbdce70800000000000000
internalID: 9137165071536870620
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_15
rect:
serializedVersion: 2
x: 0
y: 32
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 9a44f3b9787b4e0b0800000000000000
internalID: -5700229435291122519
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_16
rect:
serializedVersion: 2
x: 32
y: 32
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: fc7c9282eca843cf0800000000000000
internalID: -273441059321034801
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_17
rect:
serializedVersion: 2
x: 64
y: 32
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: fd3df5e9b3079dea0800000000000000
internalID: -5847519239801416737
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_18
rect:
serializedVersion: 2
x: 96
y: 32
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 2a433f7bfc6b79460800000000000000
internalID: 7248463128536757410
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_19
rect:
serializedVersion: 2
x: 128
y: 32
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 7631502421751c490800000000000000
internalID: -7727799749662403737
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_20
rect:
serializedVersion: 2
x: 0
y: 0
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e248005fcd19d3be0800000000000000
internalID: -1495879123027852242
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_21
rect:
serializedVersion: 2
x: 32
y: 0
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 374e5eea66b35b0e0800000000000000
internalID: -2254830726222060429
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_22
rect:
serializedVersion: 2
x: 64
y: 0
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 683f8813bf19f5580800000000000000
internalID: -8836183435823746170
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_23
rect:
serializedVersion: 2
x: 96
y: 0
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 487e18ca85f19e360800000000000000
internalID: 7199319945040226180
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: item tiles_24
rect:
serializedVersion: 2
x: 128
y: 0
width: 32
height: 32
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 70a8f92789b255600800000000000000
internalID: 456318871006054919
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -33,4 +33,4 @@ MonoBehaviour:
e33: 1
m_InstancedGameObject: {fileID: 0}
m_Flags: 1
m_ColliderType: 1
m_ColliderType: 0