Merge branch 'LumberPerson' of https://github.com/iloveoatmeal2022/HeavenStudio into LumberPerson
This commit is contained in:
commit
4d90d8872d
|
|
@ -875,6 +875,10 @@ MonoBehaviour:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
SoundSequences: []
|
SoundSequences: []
|
||||||
scheduledInputs: []
|
scheduledInputs: []
|
||||||
|
_bear: {fileID: 7013601655191583099}
|
||||||
|
_smallObjectPrefab: {fileID: -5173722026323445984, guid: 3d44370bfd973e34ea21a4b1cfff8ca6, type: 3}
|
||||||
|
_bigObjectPrefab: {fileID: 3578111811869010179, guid: b18b10a5fd5fd2c4ea91f7c44b775dfa, type: 3}
|
||||||
|
_hugeObjectPrefab: {fileID: -3577666667379746924, guid: d971a00c5581d884b9658910cac762ad, type: 3}
|
||||||
--- !u!1 &3527631078867808426
|
--- !u!1 &3527631078867808426
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -1641,6 +1645,7 @@ GameObject:
|
||||||
serializedVersion: 6
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 5426823713711891276}
|
- component: {fileID: 5426823713711891276}
|
||||||
|
- component: {fileID: 7013601655191583099}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Beast
|
m_Name: Beast
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
|
@ -1669,6 +1674,19 @@ Transform:
|
||||||
m_Father: {fileID: 2298792418077467027}
|
m_Father: {fileID: 2298792418077467027}
|
||||||
m_RootOrder: 2
|
m_RootOrder: 2
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &7013601655191583099
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5655511689993903157}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 32640a26a175a5d4baa5ba61b5446e33, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
_anim: {fileID: 0}
|
||||||
--- !u!1 &7392174160003629766
|
--- !u!1 &7392174160003629766
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
||||||
46
Assets/Resources/Prefabs/Games/Lumbearjack/BigObject.prefab
Normal file
46
Assets/Resources/Prefabs/Games/Lumbearjack/BigObject.prefab
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &2626744427758038457
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6707971432346881136}
|
||||||
|
- component: {fileID: 3578111811869010179}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: BigObject
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6707971432346881136
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2626744427758038457}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &3578111811869010179
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2626744427758038457}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 2402aaa1d4e67df479cc626100110795, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b18b10a5fd5fd2c4ea91f7c44b775dfa
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
46
Assets/Resources/Prefabs/Games/Lumbearjack/HugeObject.prefab
Normal file
46
Assets/Resources/Prefabs/Games/Lumbearjack/HugeObject.prefab
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &7090769993121559202
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1592825473973314041}
|
||||||
|
- component: {fileID: -3577666667379746924}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: HugeObject
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1592825473973314041
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7090769993121559202}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &-3577666667379746924
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7090769993121559202}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: c24e5872094ce204ababcbfdc6db7b9d, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d971a00c5581d884b9658910cac762ad
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &6310831636379568479
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7609283403775189878}
|
||||||
|
- component: {fileID: -5173722026323445984}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SmallObject
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &7609283403775189878
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6310831636379568479}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_RootOrder: 0
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &-5173722026323445984
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6310831636379568479}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a375355ce9643dd40a371b496e3fc9ee, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3d44370bfd973e34ea21a4b1cfff8ca6
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
19
Assets/Scripts/Games/LumBEARjack/LBJBear.cs
Normal file
19
Assets/Scripts/Games/LumBEARjack/LBJBear.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using HeavenStudio.Util;
|
||||||
|
|
||||||
|
namespace HeavenStudio.Games.Scripts_LumBEARjack
|
||||||
|
{
|
||||||
|
public class LBJBear : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Header("Components")]
|
||||||
|
[SerializeField] private Animator _anim;
|
||||||
|
|
||||||
|
public void SwingWhiff()
|
||||||
|
{
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/swing", -1, SoundByte.GetPitchFromCents(Random.Range(-200, 201), false));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
11
Assets/Scripts/Games/LumBEARjack/LBJBear.cs.meta
Normal file
11
Assets/Scripts/Games/LumBEARjack/LBJBear.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 32640a26a175a5d4baa5ba61b5446e33
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
75
Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs
Normal file
75
Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs
Normal file
|
|
@ -0,0 +1,75 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using HeavenStudio.Util;
|
||||||
|
|
||||||
|
namespace HeavenStudio.Games.Scripts_LumBEARjack
|
||||||
|
{
|
||||||
|
public class LBJBigObject : MonoBehaviour
|
||||||
|
{
|
||||||
|
private LBJBear _bear;
|
||||||
|
private LumBEARjack.BigType _type;
|
||||||
|
private PlayerActionEvent _cutActionEvent;
|
||||||
|
|
||||||
|
public void Init(LBJBear bear, double beat, double length, LumBEARjack.BigType type)
|
||||||
|
{
|
||||||
|
_bear = bear;
|
||||||
|
_type = type;
|
||||||
|
|
||||||
|
LumBEARjack.instance.ScheduleInput(beat, length / 4 * 2, Minigame.InputAction_BasicPress, JustHit, Miss, Blank);
|
||||||
|
_cutActionEvent = LumBEARjack.instance.ScheduleInput(beat, length / 4 * 3, Minigame.InputAction_BasicPress, JustCut, Miss, Blank);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustHit(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
// Barely
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/hitVoice" + (Random.Range(1, 3) == 1 ? "A" : "B"));
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/baseHit");
|
||||||
|
|
||||||
|
string hitSound = _type switch
|
||||||
|
{
|
||||||
|
LumBEARjack.BigType.log => "bigLogHit",
|
||||||
|
_ => throw new System.NotImplementedException(),
|
||||||
|
};
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + hitSound);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustCut(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
// Barely
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/bigLogCutVoice");
|
||||||
|
|
||||||
|
string cutSound = _type switch
|
||||||
|
{
|
||||||
|
LumBEARjack.BigType.log => "bigLogCut",
|
||||||
|
_ => throw new System.NotImplementedException(),
|
||||||
|
};
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + cutSound);
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Miss(PlayerActionEvent caller)
|
||||||
|
{
|
||||||
|
SoundByte.PlayOneShot("miss");
|
||||||
|
if (_cutActionEvent != null)
|
||||||
|
{
|
||||||
|
_cutActionEvent.Disable();
|
||||||
|
_cutActionEvent.QueueDeletion();
|
||||||
|
}
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Blank(PlayerActionEvent caller) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
11
Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs.meta
Normal file
11
Assets/Scripts/Games/LumBEARjack/LBJBigObject.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2402aaa1d4e67df479cc626100110795
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
97
Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs
Normal file
97
Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using HeavenStudio.Util;
|
||||||
|
|
||||||
|
namespace HeavenStudio.Games.Scripts_LumBEARjack
|
||||||
|
{
|
||||||
|
public class LBJHugeObject : MonoBehaviour
|
||||||
|
{
|
||||||
|
private LBJBear _bear;
|
||||||
|
private LumBEARjack.HugeType _type;
|
||||||
|
private PlayerActionEvent[] _soundsToDeleteIfMiss = new PlayerActionEvent[3];
|
||||||
|
|
||||||
|
public void Init(LBJBear bear, double beat, double length, LumBEARjack.HugeType type)
|
||||||
|
{
|
||||||
|
_bear = bear;
|
||||||
|
_type = type;
|
||||||
|
|
||||||
|
LumBEARjack.instance.ScheduleInput(beat, length / 6 * 2, Minigame.InputAction_BasicPress, JustHit1, Miss, Blank);
|
||||||
|
_soundsToDeleteIfMiss[0] = LumBEARjack.instance.ScheduleInput(beat, length / 6 * 3, Minigame.InputAction_BasicPress, JustHit2, Miss, Blank);
|
||||||
|
_soundsToDeleteIfMiss[1] = LumBEARjack.instance.ScheduleInput(beat, length / 6 * 4, Minigame.InputAction_BasicPress, JustHit3, Miss, Blank);
|
||||||
|
_soundsToDeleteIfMiss[2] = LumBEARjack.instance.ScheduleInput(beat, length / 6 * 5, Minigame.InputAction_BasicPress, JustCut, Miss, Blank);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustHit1(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
JustHit(caller, state, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustHit2(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
JustHit(caller, state, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustHit3(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
JustHit(caller, state, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustHit(PlayerActionEvent caller, float state, int step)
|
||||||
|
{
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
// Barely
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + (_type == LumBEARjack.HugeType.peach ? "peach" : "hit") + "Voice" + (Random.Range(1, 3) == 1 ? "A" : "B"));
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/baseHit");
|
||||||
|
|
||||||
|
string hitSound = _type switch
|
||||||
|
{
|
||||||
|
LumBEARjack.HugeType.log => $"hugeLogHit{step}",
|
||||||
|
LumBEARjack.HugeType.freezer => $"freezerHit{step}",
|
||||||
|
LumBEARjack.HugeType.peach => $"peachHit{step}",
|
||||||
|
_ => throw new System.NotImplementedException(),
|
||||||
|
};
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + hitSound);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void JustCut(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
// Barely
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + (_type == LumBEARjack.HugeType.peach ? "peachCutVoice" : "hugeLogCutVoice"));
|
||||||
|
|
||||||
|
string cutSound = _type switch
|
||||||
|
{
|
||||||
|
LumBEARjack.HugeType.log => "hugeLogCut",
|
||||||
|
LumBEARjack.HugeType.freezer => "freezerCut",
|
||||||
|
LumBEARjack.HugeType.peach => "peachCut",
|
||||||
|
_ => throw new System.NotImplementedException(),
|
||||||
|
};
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + cutSound);
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Miss(PlayerActionEvent caller)
|
||||||
|
{
|
||||||
|
SoundByte.PlayOneShot("miss");
|
||||||
|
foreach (var s in _soundsToDeleteIfMiss)
|
||||||
|
{
|
||||||
|
if (s == null) continue;
|
||||||
|
s.Disable();
|
||||||
|
s.QueueDeletion();
|
||||||
|
}
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Blank(PlayerActionEvent caller) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
11
Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs.meta
Normal file
11
Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c24e5872094ce204ababcbfdc6db7b9d
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
54
Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs
Normal file
54
Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using HeavenStudio.Util;
|
||||||
|
|
||||||
|
namespace HeavenStudio.Games.Scripts_LumBEARjack
|
||||||
|
{
|
||||||
|
public class LBJSmallObject : MonoBehaviour
|
||||||
|
{
|
||||||
|
private LBJBear _bear;
|
||||||
|
private LumBEARjack.SmallType _type;
|
||||||
|
|
||||||
|
public void Init(LBJBear bear, double beat, double length, LumBEARjack.SmallType type)
|
||||||
|
{
|
||||||
|
_bear = bear;
|
||||||
|
_type = type;
|
||||||
|
|
||||||
|
LumBEARjack.instance.ScheduleInput(beat, length / 3 * 2, Minigame.InputAction_BasicPress, Just, Miss, Blank);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Just(PlayerActionEvent caller, float state)
|
||||||
|
{
|
||||||
|
if (state >= 1f || state <= -1f)
|
||||||
|
{
|
||||||
|
// Barely
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/cutVoice" + (Random.Range(1, 3) == 1 ? "A" : "B"));
|
||||||
|
|
||||||
|
string cutSound = _type switch
|
||||||
|
{
|
||||||
|
LumBEARjack.SmallType.log => "smallLogCut",
|
||||||
|
LumBEARjack.SmallType.can => "canCut",
|
||||||
|
LumBEARjack.SmallType.bat => "batCut",
|
||||||
|
LumBEARjack.SmallType.broom => "broomCut",
|
||||||
|
_ => throw new System.NotImplementedException()
|
||||||
|
};
|
||||||
|
SoundByte.PlayOneShotGame("lumbearjack/" + cutSound);
|
||||||
|
|
||||||
|
if (_type != LumBEARjack.SmallType.log) SoundByte.PlayOneShotGame("lumbearjack/huh", caller.startBeat + caller.timer + 1);
|
||||||
|
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Miss(PlayerActionEvent caller)
|
||||||
|
{
|
||||||
|
SoundByte.PlayOneShot("miss");
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Blank(PlayerActionEvent caller) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
11
Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs.meta
Normal file
11
Assets/Scripts/Games/LumBEARjack/LBJSmallObject.cs.meta
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a375355ce9643dd40a371b496e3fc9ee
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -9,6 +9,7 @@ using HeavenStudio.InputSystem;
|
||||||
|
|
||||||
using Jukebox;
|
using Jukebox;
|
||||||
|
|
||||||
|
|
||||||
namespace HeavenStudio.Games.Loaders
|
namespace HeavenStudio.Games.Loaders
|
||||||
{
|
{
|
||||||
using static Minigames;
|
using static Minigames;
|
||||||
|
|
@ -19,7 +20,60 @@ namespace HeavenStudio.Games.Loaders
|
||||||
{
|
{
|
||||||
return new Minigame("lumbearjack", "LumBEARjack", "ffffff", false, false, new List<GameAction>()
|
return new Minigame("lumbearjack", "LumBEARjack", "ffffff", false, false, new List<GameAction>()
|
||||||
{
|
{
|
||||||
|
new("small", "Small Object")
|
||||||
|
{
|
||||||
|
preFunction = delegate
|
||||||
|
{
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
LumBEARjack.SmallObjectSound(e.beat, e.length, (LumBEARjack.SmallType)e["type"]);
|
||||||
|
},
|
||||||
|
function = delegate
|
||||||
|
{
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
LumBEARjack.instance.SpawnSmallObject(e.beat, e.length, (LumBEARjack.SmallType)e["type"]);
|
||||||
|
},
|
||||||
|
defaultLength = 3,
|
||||||
|
parameters = new()
|
||||||
|
{
|
||||||
|
new("type", LumBEARjack.SmallType.log, "Type")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new("big", "Big Object")
|
||||||
|
{
|
||||||
|
preFunction = delegate
|
||||||
|
{
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
LumBEARjack.BigObjectSound(e.beat, e.length, (LumBEARjack.BigType)e["type"]);
|
||||||
|
},
|
||||||
|
function = delegate
|
||||||
|
{
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
LumBEARjack.instance.SpawnBigObject(e.beat, e.length, (LumBEARjack.BigType)e["type"]);
|
||||||
|
},
|
||||||
|
defaultLength = 4,
|
||||||
|
parameters = new()
|
||||||
|
{
|
||||||
|
new("type", LumBEARjack.BigType.log, "Type")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
new("huge", "Huge Object")
|
||||||
|
{
|
||||||
|
preFunction = delegate
|
||||||
|
{
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
LumBEARjack.HugeObjectSound(e.beat, e.length, (LumBEARjack.HugeType)e["type"]);
|
||||||
|
},
|
||||||
|
function = delegate
|
||||||
|
{
|
||||||
|
var e = eventCaller.currentEntity;
|
||||||
|
LumBEARjack.instance.SpawnHugeObject(e.beat, e.length, (LumBEARjack.HugeType)e["type"]);
|
||||||
|
},
|
||||||
|
defaultLength = 6,
|
||||||
|
parameters = new()
|
||||||
|
{
|
||||||
|
new("type", LumBEARjack.HugeType.log, "Type")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -28,8 +82,174 @@ namespace HeavenStudio.Games.Loaders
|
||||||
|
|
||||||
namespace HeavenStudio.Games
|
namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
|
using HeavenStudio.Games.Scripts_LumBEARjack;
|
||||||
|
|
||||||
public class LumBEARjack : Minigame
|
public class LumBEARjack : Minigame
|
||||||
{
|
{
|
||||||
|
public enum SmallType
|
||||||
|
{
|
||||||
|
log,
|
||||||
|
can,
|
||||||
|
bat,
|
||||||
|
broom
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum BigType
|
||||||
|
{
|
||||||
|
log
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum HugeType
|
||||||
|
{
|
||||||
|
log,
|
||||||
|
freezer,
|
||||||
|
peach
|
||||||
|
}
|
||||||
|
|
||||||
|
[Header("Components")]
|
||||||
|
[SerializeField] private LBJBear _bear;
|
||||||
|
[SerializeField] private LBJSmallObject _smallObjectPrefab;
|
||||||
|
[SerializeField] private LBJBigObject _bigObjectPrefab;
|
||||||
|
[SerializeField] private LBJHugeObject _hugeObjectPrefab;
|
||||||
|
|
||||||
|
public static LumBEARjack instance;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Update
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress))
|
||||||
|
{
|
||||||
|
_bear.SwingWhiff();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Spawn Objects
|
||||||
|
|
||||||
|
public void SpawnSmallObject(double beat, double length, SmallType type)
|
||||||
|
{
|
||||||
|
BeatAction.New(this, new()
|
||||||
|
{
|
||||||
|
new(beat + (length / 3), delegate
|
||||||
|
{
|
||||||
|
LBJSmallObject spawnedObject = Instantiate(_smallObjectPrefab, transform);
|
||||||
|
spawnedObject.Init(_bear, beat, length, type);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SpawnBigObject(double beat, double length, BigType type)
|
||||||
|
{
|
||||||
|
BeatAction.New(this, new()
|
||||||
|
{
|
||||||
|
new(beat + (length / 4), delegate
|
||||||
|
{
|
||||||
|
LBJBigObject spawnedObject = Instantiate(_bigObjectPrefab, transform);
|
||||||
|
spawnedObject.Init(_bear, beat, length, type);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SpawnHugeObject(double beat, double length, HugeType type)
|
||||||
|
{
|
||||||
|
BeatAction.New(this, new()
|
||||||
|
{
|
||||||
|
new(beat + (length / 6), delegate
|
||||||
|
{
|
||||||
|
LBJHugeObject spawnedObject = Instantiate(_hugeObjectPrefab, transform);
|
||||||
|
spawnedObject.Init(_bear, beat, length, type);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region PreSounds
|
||||||
|
|
||||||
|
public static void SmallObjectSound(double beat, float length, SmallType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case SmallType.bat:
|
||||||
|
case SmallType.log:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/smallLogPut", beat + (length / 3))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
case SmallType.can:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/canPut", beat + (length / 3))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
case SmallType.broom:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/broomPut", beat + (length / 3))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void BigObjectSound(double beat, float length, BigType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case BigType.log:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/bigLogPut", beat + (length / 4))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void HugeObjectSound(double beat, float length, HugeType type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case HugeType.log:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/hugeLogPut", beat + (length / 6))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
case HugeType.freezer:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/freezerPut", beat + (length / 6))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
case HugeType.peach:
|
||||||
|
MultiSound.Play(new MultiSound.Sound[]
|
||||||
|
{
|
||||||
|
new("lumbearjack/readyVoice", beat),
|
||||||
|
new("lumbearjack/peachPut", beat + (length / 6))
|
||||||
|
}, true, true);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -640,6 +640,16 @@ namespace HeavenStudio
|
||||||
Debug.LogWarning("Game loader RvlWorkingDoughLoader failed!");
|
Debug.LogWarning("Game loader RvlWorkingDoughLoader failed!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Debug.Log("Running game loader CtrLumBEARjackLoader");
|
||||||
|
game = CtrLumBEARjackLoader.AddGame(eventCaller);
|
||||||
|
if (game != null)
|
||||||
|
{
|
||||||
|
eventCaller.minigames.Add(game.name, game);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning("Game loader CtrLumBEARjackLoader failed!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,6 @@ MonoBehaviour:
|
||||||
DenseViewWidthThreshold: 512
|
DenseViewWidthThreshold: 512
|
||||||
_disableAutoReloadInBackground: 0
|
_disableAutoReloadInBackground: 0
|
||||||
ImportedScriptPaths:
|
ImportedScriptPaths:
|
||||||
- Assets/Scripts/Games/LumBEARjack/LumBEARjack.cs
|
- Assets/Scripts/Games/LumBEARjack/LBJHugeObject.cs
|
||||||
PathsToSkipImportEvent: []
|
PathsToSkipImportEvent: []
|
||||||
PathsToIgnoreOverwriteSettingOnAttribute: []
|
PathsToIgnoreOverwriteSettingOnAttribute: []
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue