This commit is contained in:
Rapandrasmus 2024-01-25 19:30:47 +01:00
parent dec9962685
commit ae1269876f
4 changed files with 442 additions and 0 deletions

View file

@ -569,6 +569,57 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &1103197251499395603
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2061358964934971870}
- component: {fileID: 2184219085709983617}
m_Layer: 0
m_Name: BirdManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2061358964934971870
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103197251499395603}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8952014673230657950}
- {fileID: 8113023065913069144}
m_Father: {fileID: 4304513864755659316}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2184219085709983617
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1103197251499395603}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 91d6e7654abbb4c4699731e94d8fd77e, type: 3}
m_Name:
m_EditorClassIdentifier:
_speedX: 3.838
_speedY: 1.45
_birdRef: {fileID: 8952014673230657950}
_deathThresholdPoint: {fileID: 8113023065913069144}
_penguinSprite: {fileID: -1297142145, guid: 22580b5add5c70f4f81c7733a7798be2, type: 3}
--- !u!1 &1435018870899465386
GameObject:
m_ObjectHideFlags: 0
@ -16539,6 +16590,7 @@ Transform:
m_Children:
- {fileID: 6484058324431055017}
- {fileID: 2025892949459409451}
- {fileID: 2061358964934971870}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -16560,6 +16612,7 @@ MonoBehaviour:
_scrollTransform: {fileID: 7036195930893080952}
_jumper: {fileID: 879795961227326402}
_totemManager: {fileID: 1758579984411066365}
_birdManager: {fileID: 2184219085709983617}
_scrollSpeedX: 3.838
_scrollSpeedY: 1.45
--- !u!1 &4543646023735205506
@ -17510,6 +17563,92 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6013957128925600612
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8952014673230657950}
- component: {fileID: 7284338174098516025}
m_Layer: 0
m_Name: BirdRef
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &8952014673230657950
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6013957128925600612}
m_LocalRotation: {x: 0, y: 0, z: 0.17364816, w: 0.9848078}
m_LocalPosition: {x: 18.56, y: 11.31, z: 0}
m_LocalScale: {x: 0.6, y: 0.6, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 876873006105371079}
- {fileID: 2096113391182167851}
m_Father: {fileID: 2061358964934971870}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 20}
--- !u!212 &7284338174098516025
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6013957128925600612}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 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: 1000
m_Sprite: {fileID: -126723542, guid: 22580b5add5c70f4f81c7733a7798be2, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 5.11, y: 3.11}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &6066020027537218953
GameObject:
m_ObjectHideFlags: 0
@ -18528,6 +18667,90 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &7930678209591720750
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2096113391182167851}
- component: {fileID: 2282958176055563981}
m_Layer: 0
m_Name: BirdRef (2)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &2096113391182167851
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7930678209591720750}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 6.22, y: -1.02, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8952014673230657950}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 20}
--- !u!212 &2282958176055563981
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7930678209591720750}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 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: 1000
m_Sprite: {fileID: -126723542, guid: 22580b5add5c70f4f81c7733a7798be2, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 5.11, y: 3.11}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &7975288217203254000
GameObject:
m_ObjectHideFlags: 0
@ -18612,6 +18835,37 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8021145269124036296
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8113023065913069144}
m_Layer: 0
m_Name: Death
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8113023065913069144
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8021145269124036296}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -21.37, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2061358964934971870}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8179438239472708414
GameObject:
m_ObjectHideFlags: 0
@ -19304,3 +19558,87 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &9092134826543552732
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 876873006105371079}
- component: {fileID: 8805762870769778127}
m_Layer: 0
m_Name: BirdRef (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &876873006105371079
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9092134826543552732}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 3.85, y: 2.38, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8952014673230657950}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 20}
--- !u!212 &8805762870769778127
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9092134826543552732}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 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: 1000
m_Sprite: {fileID: -126723542, guid: 22580b5add5c70f4f81c7733a7798be2, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 5.11, y: 3.11}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0

View file

@ -0,0 +1,67 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace HeavenStudio.Games.Scripts_TotemClimb
{
public class TCBirdManager : MonoBehaviour
{
[SerializeField] private float _speedX;
[SerializeField] private float _speedY;
[SerializeField] private Transform _birdRef;
[SerializeField] private Transform _deathThresholdPoint;
[SerializeField] private Sprite _penguinSprite;
private List<Bird> _birds = new();
private void Update()
{
foreach (var bird in _birds)
{
if (bird.birdTransform == null) continue;
bird.birdTransform.localPosition -= new Vector3(_speedX * bird.speed * Time.deltaTime, _speedY * bird.speed * Time.deltaTime);
if (bird.birdTransform.localPosition.x <= _deathThresholdPoint.localPosition.x)
{
Destroy(bird.birdTransform.gameObject);
}
}
_birds.RemoveAll(x => x.birdTransform == null);
}
public void AddBird(float speed, bool penguin, int amount)
{
amount = Mathf.Clamp(amount, 1, 3);
Transform spawnedBird = Instantiate(_birdRef, transform);
if (penguin)
{
spawnedBird.GetComponent<SpriteRenderer>().sprite = _penguinSprite;
spawnedBird.GetChild(0).GetComponent<SpriteRenderer>().sprite = _penguinSprite;
spawnedBird.GetChild(1).GetComponent<SpriteRenderer>().sprite = _penguinSprite;
}
spawnedBird.gameObject.SetActive(true);
if (amount >= 2) spawnedBird.GetChild(0).gameObject.SetActive(true);
if (amount == 3) spawnedBird.GetChild(1).gameObject.SetActive(true);
_birds.Add(new Bird(speed, spawnedBird));
}
private struct Bird
{
public float speed;
public Transform birdTransform;
public Bird(float mSpeed, Transform mBirdTransform)
{
speed = mSpeed;
birdTransform = mBirdTransform;
}
}
}
}

View file

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

View file

@ -40,6 +40,20 @@ namespace HeavenStudio.Games.Loaders
},
defaultLength = 4f
},
new("bird", "Bird")
{
function = delegate
{
var e = eventCaller.currentEntity;
TotemClimb.instance.SpawnBird(e["speed"], (TotemClimb.BirdType)e["type"] == TotemClimb.BirdType.Penguin, e["amount"]);
},
parameters = new List<Param>()
{
new("speed", new EntityTypes.Float(1, 100, 3), "Speed Multiplier"),
new("type", TotemClimb.BirdType.KingFisher, "Type"),
new("amount", new EntityTypes.Integer(1, 3, 1), "Amount")
}
},
new("above", "Pillar End")
{
@ -63,11 +77,18 @@ namespace HeavenStudio.Games
{
public class TotemClimb : Minigame
{
public enum BirdType
{
KingFisher,
Penguin
}
[Header("Components")]
[SerializeField] private Transform _cameraTransform;
[SerializeField] private Transform _scrollTransform;
[SerializeField] private TCJumper _jumper;
[SerializeField] private TCTotemManager _totemManager;
[SerializeField] private TCBirdManager _birdManager;
[Header("Properties")]
[SerializeField] private float _scrollSpeedX = 3.838f;
@ -92,6 +113,11 @@ namespace HeavenStudio.Games
instance = this;
}
public void SpawnBird(float speed, bool penguin, int amount)
{
_birdManager.AddBird(speed, penguin, amount);
}
public override void OnGameSwitch(double beat)
{
CalculateStartAndEndBeat(beat);