change: Finished MushroomVillage
This includes changes such as putting enemies in levels, adding projectiles, and finalizing the bounces for the moving platforms The cymbal has been implemented, and provides a short immunity to projectiles Every section is playable, and includes a final ending object, although there is no transistion to the level from the previous level yet
This commit is contained in:
parent
ba01db1051
commit
d3dfe2acac
@ -383,7 +383,7 @@
|
|||||||
{
|
{
|
||||||
"name": "",
|
"name": "",
|
||||||
"id": "167cc771-c2e4-4ab1-ba58-31e6e6730adf",
|
"id": "167cc771-c2e4-4ab1-ba58-31e6e6730adf",
|
||||||
"path": "<Keyboard>/l",
|
"path": "<Keyboard>/i",
|
||||||
"interactions": "",
|
"interactions": "",
|
||||||
"processors": "",
|
"processors": "",
|
||||||
"groups": "",
|
"groups": "",
|
||||||
|
BIN
Assets/SFX/cymbal.mp3
Normal file
BIN
Assets/SFX/cymbal.mp3
Normal file
Binary file not shown.
23
Assets/SFX/cymbal.mp3.meta
Normal file
23
Assets/SFX/cymbal.mp3.meta
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f37bef8154eaa8adcbf8a6527c653b0b
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 7
|
||||||
|
defaultSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
preloadAudioData: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
@ -10,21 +10,26 @@ public class GameUIController : MonoBehaviour
|
|||||||
public GameObject trumpetBackground;
|
public GameObject trumpetBackground;
|
||||||
public GameObject tambourineBackground;
|
public GameObject tambourineBackground;
|
||||||
public GameObject clarinetBackground;
|
public GameObject clarinetBackground;
|
||||||
|
public GameObject cymbalBackground;
|
||||||
[HideInInspector] public GameObject trumpetUI;
|
[HideInInspector] public GameObject trumpetUI;
|
||||||
[HideInInspector] public GameObject tambourineUI;
|
[HideInInspector] public GameObject tambourineUI;
|
||||||
[HideInInspector] public GameObject clarinetUI;
|
[HideInInspector] public GameObject clarinetUI;
|
||||||
|
[HideInInspector] public GameObject cymbalUI;
|
||||||
|
|
||||||
void Awake()
|
void Awake()
|
||||||
{
|
{
|
||||||
this.trumpetUI = trumpetBackground.transform.GetChild(0).gameObject;
|
this.trumpetUI = trumpetBackground.transform.GetChild(0).gameObject;
|
||||||
this.tambourineUI = tambourineBackground.transform.GetChild(0).gameObject;
|
this.tambourineUI = tambourineBackground.transform.GetChild(0).gameObject;
|
||||||
this.clarinetUI = clarinetBackground.transform.GetChild(0).gameObject;
|
this.clarinetUI = clarinetBackground.transform.GetChild(0).gameObject;
|
||||||
|
this.cymbalUI = this.cymbalBackground.transform.GetChild(0).gameObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Start() {
|
void Start()
|
||||||
|
{
|
||||||
this.trumpetBackground.SetActive(StateController.Instance.HasTrumpet());
|
this.trumpetBackground.SetActive(StateController.Instance.HasTrumpet());
|
||||||
this.tambourineBackground.SetActive(StateController.Instance.HasTambourine());
|
this.tambourineBackground.SetActive(StateController.Instance.HasTambourine());
|
||||||
this.clarinetBackground.SetActive(StateController.Instance.HasClarinet());
|
this.clarinetBackground.SetActive(StateController.Instance.HasClarinet());
|
||||||
|
this.cymbalBackground.SetActive(StateController.Instance.HasCymbal());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToggleTrumpet(bool toggleState)
|
public void ToggleTrumpet(bool toggleState)
|
||||||
@ -54,10 +59,20 @@ public class GameUIController : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ToggleCymbal(bool desiredState)
|
||||||
|
{
|
||||||
|
bool curEnabled = clarinetUI.GetComponent<Image>().enabled;
|
||||||
|
if (curEnabled != desiredState)
|
||||||
|
{
|
||||||
|
cymbalUI.GetComponent<Image>().enabled = desiredState;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void UpdateInstrumentUI()
|
public void UpdateInstrumentUI()
|
||||||
{
|
{
|
||||||
this.ToggleTrumpet(StateController.Instance.HasTrumpet());
|
this.ToggleTrumpet(StateController.Instance.HasTrumpet());
|
||||||
this.ToggleTambourine(StateController.Instance.HasTambourine());
|
this.ToggleTambourine(StateController.Instance.HasTambourine());
|
||||||
this.ToggleClarinet(StateController.Instance.HasClarinet());
|
this.ToggleClarinet(StateController.Instance.HasClarinet());
|
||||||
|
this.ToggleCymbal(StateController.Instance.HasCymbal());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,7 @@ public class PlayerBehavior : MonoBehaviour
|
|||||||
[Header("Sound")]
|
[Header("Sound")]
|
||||||
[SerializeField] public AudioClip footstepSound;
|
[SerializeField] public AudioClip footstepSound;
|
||||||
[SerializeField] public AudioClip deathSound;
|
[SerializeField] public AudioClip deathSound;
|
||||||
|
[SerializeField] public AudioClip cymbalSound;
|
||||||
AudioSource audioSource;
|
AudioSource audioSource;
|
||||||
|
|
||||||
|
|
||||||
@ -75,6 +76,10 @@ public class PlayerBehavior : MonoBehaviour
|
|||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
if (this.cymbalActiveTime < 0)
|
||||||
|
{
|
||||||
|
this.gameUI.ToggleCymbal(true);
|
||||||
|
}
|
||||||
this.cymbalActiveTime -= Time.deltaTime;
|
this.cymbalActiveTime -= Time.deltaTime;
|
||||||
|
|
||||||
unlockedTambourine = StateController.Instance.HasTambourine();
|
unlockedTambourine = StateController.Instance.HasTambourine();
|
||||||
@ -145,6 +150,13 @@ public class PlayerBehavior : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if (this.playerInput.actions["CymbalCrash"].WasPressedThisFrame())
|
if (this.playerInput.actions["CymbalCrash"].WasPressedThisFrame())
|
||||||
{
|
{
|
||||||
|
// Play the sound
|
||||||
|
this.gameUI.ToggleCymbal(false);
|
||||||
|
this.audioSource.clip = cymbalSound;
|
||||||
|
this.audioSource.loop = false;
|
||||||
|
this.audioSource.Play();
|
||||||
|
|
||||||
|
// Set the cymbal active for the equivalent of one second
|
||||||
this.cymbalActiveTime = 1;
|
this.cymbalActiveTime = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -370,7 +382,12 @@ public class PlayerBehavior : MonoBehaviour
|
|||||||
Destroy(collision.gameObject);
|
Destroy(collision.gameObject);
|
||||||
if (this.cymbalActiveTime > 0)
|
if (this.cymbalActiveTime > 0)
|
||||||
{
|
{
|
||||||
Debug.Log("Reflected!");
|
Vector2 projVel = collision.gameObject.GetComponent<Rigidbody2D>().velocity;
|
||||||
|
collision.gameObject.GetComponent<Rigidbody2D>().velocity =
|
||||||
|
new Vector2(
|
||||||
|
-projVel.x,
|
||||||
|
-projVel.y
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
BIN
Assets/Sprites/Items/cymbals.png
Normal file
BIN
Assets/Sprites/Items/cymbals.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 554 B |
124
Assets/Sprites/Items/cymbals.png.meta
Normal file
124
Assets/Sprites/Items/cymbals.png.meta
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 63a3d46853315bc328c2f7cb7734498c
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 12
|
||||||
|
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: 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
|
||||||
|
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
|
||||||
|
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: Server
|
||||||
|
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: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/Sprites/UI/star.png
Normal file
BIN
Assets/Sprites/UI/star.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 162 KiB |
124
Assets/Sprites/UI/star.png.meta
Normal file
124
Assets/Sprites/UI/star.png.meta
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 733f090fd96b8349b9c4c48ba17882b6
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 12
|
||||||
|
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: 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
|
||||||
|
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
|
||||||
|
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: Server
|
||||||
|
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: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
Reference in New Issue
Block a user