tweak: update mini game
parent
4855df2b25
commit
d395793750
|
@ -45,11 +45,11 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_availableStates:
|
||||
- GadGame.State.IdleState
|
||||
- GadGame.State.PassByState
|
||||
- GadGame.State.ViewedState
|
||||
- GadGame.State.EngageState
|
||||
- GadGame.State.PlayGameState
|
||||
- GadGame.State.RewardState
|
||||
- GadGame.State.CTAState
|
||||
- GadGame.State.MainFlowState.IdleState
|
||||
- GadGame.State.MainFlowState.PassByState
|
||||
- GadGame.State.MainFlowState.ViewedState
|
||||
- GadGame.State.MainFlowState.EngageState
|
||||
- GadGame.State.MainFlowState.PlayGameState
|
||||
- GadGame.State.MainFlowState.RewardState
|
||||
- GadGame.State.MainFlowState.CTAState
|
||||
SceneFlowConfig: {fileID: 11400000, guid: 191a17431b0adcb48aea29fa675b8c5a, type: 2}
|
||||
|
|
|
@ -100,6 +100,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_reduceScore: 5
|
||||
_rb: {fileID: 9129339961973675669}
|
||||
--- !u!70 &4999977869840881797
|
||||
CapsuleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -150,7 +151,7 @@ Rigidbody2D:
|
|||
m_Mass: 1
|
||||
m_LinearDrag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_GravityScale: 1
|
||||
m_GravityScale: 0.5
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
|
|
|
@ -100,6 +100,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_score: 1
|
||||
_rb: {fileID: 4046803137051237507}
|
||||
--- !u!58 &5776257884050738555
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -150,7 +151,7 @@ Rigidbody2D:
|
|||
m_Mass: 1
|
||||
m_LinearDrag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_GravityScale: 1
|
||||
m_GravityScale: 0.5
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
|
|
|
@ -100,6 +100,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_score: 1
|
||||
_rb: {fileID: 841339715954061179}
|
||||
--- !u!58 &5531060527493243633
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -150,7 +151,7 @@ Rigidbody2D:
|
|||
m_Mass: 1
|
||||
m_LinearDrag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_GravityScale: 1
|
||||
m_GravityScale: 0.5
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
|
|
|
@ -100,6 +100,7 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_score: 1
|
||||
_rb: {fileID: 2588217058180321427}
|
||||
--- !u!58 &2940210712796906454
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -150,7 +151,7 @@ Rigidbody2D:
|
|||
m_Mass: 1
|
||||
m_LinearDrag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_GravityScale: 1
|
||||
m_GravityScale: 0.5
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 9882dd2ece9fe5644aa0e5c95294cd09
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -123,6 +123,141 @@ NavMeshSettings:
|
|||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &169808668
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 169808669}
|
||||
- component: {fileID: 169808671}
|
||||
- component: {fileID: 169808670}
|
||||
m_Layer: 5
|
||||
m_Name: ScoreLable
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &169808669
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 169808668}
|
||||
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: 1901652403}
|
||||
m_Father: {fileID: 1939570967}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 1}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -100}
|
||||
m_SizeDelta: {x: 350, y: 50}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!114 &169808670
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 169808668}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: 'Score:'
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 100
|
||||
m_fontSizeBase: 100
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 1
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 20, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!222 &169808671
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 169808668}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &408830255
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -296,7 +431,7 @@ GameObject:
|
|||
- component: {fileID: 1230716511}
|
||||
- component: {fileID: 1230716510}
|
||||
m_Layer: 5
|
||||
m_Name: Text (TMP)
|
||||
m_Name: Time
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
|
@ -356,7 +491,7 @@ MonoBehaviour:
|
|||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 1
|
||||
m_HorizontalAlignment: 2
|
||||
m_HorizontalAlignment: 4
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
|
@ -385,7 +520,7 @@ MonoBehaviour:
|
|||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_margin: {x: 0, y: 0, z: 20, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
|
@ -413,11 +548,11 @@ RectTransform:
|
|||
m_Children: []
|
||||
m_Father: {fileID: 1939570967}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchorMin: {x: 1, y: 1}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -100}
|
||||
m_SizeDelta: {x: 200, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
m_Pivot: {x: 1, y: 1}
|
||||
--- !u!1 &1254852289
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -822,6 +957,140 @@ Transform:
|
|||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1901652402
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1901652403}
|
||||
- component: {fileID: 1901652405}
|
||||
- component: {fileID: 1901652404}
|
||||
m_Layer: 5
|
||||
m_Name: Score
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1901652403
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1901652402}
|
||||
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: 169808669}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 50}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &1901652404
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1901652402}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_text: 0
|
||||
m_isRightToLeft: 0
|
||||
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
|
||||
m_fontSharedMaterials: []
|
||||
m_fontMaterial: {fileID: 0}
|
||||
m_fontMaterials: []
|
||||
m_fontColor32:
|
||||
serializedVersion: 2
|
||||
rgba: 4278190080
|
||||
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_enableVertexGradient: 0
|
||||
m_colorMode: 3
|
||||
m_fontColorGradient:
|
||||
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_fontColorGradientPreset: {fileID: 0}
|
||||
m_spriteAsset: {fileID: 0}
|
||||
m_tintAllSprites: 0
|
||||
m_StyleSheet: {fileID: 0}
|
||||
m_TextStyleHashCode: -1183493901
|
||||
m_overrideHtmlColors: 0
|
||||
m_faceColor:
|
||||
serializedVersion: 2
|
||||
rgba: 4294967295
|
||||
m_fontSize: 100
|
||||
m_fontSizeBase: 100
|
||||
m_fontWeight: 400
|
||||
m_enableAutoSizing: 0
|
||||
m_fontSizeMin: 18
|
||||
m_fontSizeMax: 72
|
||||
m_fontStyle: 1
|
||||
m_HorizontalAlignment: 1
|
||||
m_VerticalAlignment: 512
|
||||
m_textAlignment: 65535
|
||||
m_characterSpacing: 0
|
||||
m_wordSpacing: 0
|
||||
m_lineSpacing: 0
|
||||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 0
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 1
|
||||
m_isCullingEnabled: 0
|
||||
m_horizontalMapping: 0
|
||||
m_verticalMapping: 0
|
||||
m_uvLineOffset: 0
|
||||
m_geometrySortingOrder: 0
|
||||
m_IsTextObjectScaleStatic: 0
|
||||
m_VertexBufferAutoSizeReduction: 0
|
||||
m_useMaxVisibleDescender: 1
|
||||
m_pageToDisplay: 1
|
||||
m_margin: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_isUsingLegacyAnimationComponent: 0
|
||||
m_isVolumetricText: 0
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!222 &1901652405
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1901652402}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1939570963
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -917,6 +1186,7 @@ RectTransform:
|
|||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1230716512}
|
||||
- {fileID: 169808669}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
|
@ -973,11 +1243,10 @@ MonoBehaviour:
|
|||
- GadGame.State.GameState.ResumeGameState
|
||||
- GadGame.State.GameState.PlayingGameState
|
||||
- GadGame.State.GameState.EndGameState
|
||||
GameTime: 20
|
||||
GameTime: 60
|
||||
_basket: {fileID: 1254852291}
|
||||
_time: {fileID: 1230716510}
|
||||
_lerp: 10
|
||||
_spawnTime: 1
|
||||
_spawnTime: 0.5
|
||||
_bombChange: 0.2
|
||||
_spawnArea:
|
||||
serializedVersion: 2
|
||||
|
@ -985,6 +1254,9 @@ MonoBehaviour:
|
|||
y: 7
|
||||
width: 4.5
|
||||
height: 1
|
||||
_gravityScaleRange: {x: 0.1, y: 0.5}
|
||||
_time: {fileID: 1230716510}
|
||||
_score: {fileID: 1901652404}
|
||||
_itemPools:
|
||||
- _source: {fileID: 343037395040712443, guid: 48f83ca60bcd97e47a2dbf1abb66b320, type: 3}
|
||||
_defaultCapacity: 10
|
||||
|
|
|
@ -3,7 +3,7 @@ using System.Linq;
|
|||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GadGame.Scripts.Editor.PropertyDrawers
|
||||
namespace GadGame.Editor.PropertyDrawers
|
||||
{
|
||||
[UnityEditor.CustomPropertyDrawer(typeof(SceneReference))]
|
||||
public class SceneReferencePropertyDrawer : UnityEditor.PropertyDrawer
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d757e373f723438491928461135dda26
|
||||
timeCreated: 1713237666
|
|
@ -0,0 +1,21 @@
|
|||
using GadGame.SO;
|
||||
using Sirenix.OdinInspector.Editor;
|
||||
using Sirenix.Utilities;
|
||||
using Sirenix.Utilities.Editor;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GadGame.Editor.Window
|
||||
{
|
||||
public class SceneFlowConfigWindow : OdinEditorWindow
|
||||
{
|
||||
[MenuItem("Game Config/Scene Flow")]
|
||||
private static void ShowWindow()
|
||||
{
|
||||
var window = InspectObject(SceneFlowConfig.GetOrCreateSettings());
|
||||
window.position = GUIHelper.GetEditorWindowRect().AlignCenter(600, 200);
|
||||
window.maxSize = new Vector2(600, 200);
|
||||
window.minSize = new Vector2(600, 200);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f03a2ecf0b284191a9db4b3935036b57
|
||||
timeCreated: 1713237691
|
|
@ -1,3 +1,4 @@
|
|||
using System;
|
||||
using GadGame.Manager;
|
||||
using Pools.Runtime;
|
||||
using UnityEngine;
|
||||
|
@ -7,7 +8,21 @@ namespace GadGame.MiniGame
|
|||
public class Bomb : MonoBehaviour, ICollect
|
||||
{
|
||||
[SerializeField] private int _reduceScore;
|
||||
|
||||
[SerializeField] private Rigidbody2D _rb;
|
||||
|
||||
public void Init(float gravityScale = 1)
|
||||
{
|
||||
_rb.gravityScale = gravityScale;
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (_rb.position.y <= -10)
|
||||
{
|
||||
this.Release();
|
||||
}
|
||||
}
|
||||
|
||||
public void Collect()
|
||||
{
|
||||
GameManager.Instance.UpdateScore(-_reduceScore);
|
||||
|
|
|
@ -7,6 +7,20 @@ namespace GadGame.MiniGame
|
|||
public class Item : MonoBehaviour, ICollect
|
||||
{
|
||||
[SerializeField] private int _score;
|
||||
[SerializeField] private Rigidbody2D _rb;
|
||||
|
||||
public void Init(float gravityScale = 1)
|
||||
{
|
||||
_rb.gravityScale = gravityScale;
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
if (_rb.position.y <= -10)
|
||||
{
|
||||
this.Release();
|
||||
}
|
||||
}
|
||||
|
||||
public void Collect()
|
||||
{
|
||||
|
|
|
@ -2,6 +2,7 @@ using GadGame.Manager;
|
|||
using GadGame.State;
|
||||
using GadGame.State.GameState;
|
||||
using Pools.Runtime;
|
||||
using Sirenix.OdinInspector;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
|
@ -9,15 +10,20 @@ namespace GadGame.MiniGame
|
|||
{
|
||||
public class MiniGameController : StateRunner<MiniGameController>
|
||||
{
|
||||
[Header("Stats")]
|
||||
public int GameTime;
|
||||
|
||||
[SerializeField] private Transform _basket;
|
||||
[SerializeField] private TextMeshProUGUI _time;
|
||||
[SerializeField] private float _lerp;
|
||||
[SerializeField] private float _spawnTime;
|
||||
[SerializeField, Range(0,1)] private float _bombChange;
|
||||
[SerializeField] private Rect _spawnArea;
|
||||
[SerializeField, MinMaxSlider(0, 2, true)] private Vector2 _gravityScaleRange;
|
||||
|
||||
[Header("UI")]
|
||||
[SerializeField] private TextMeshProUGUI _time;
|
||||
[SerializeField] private TextMeshProUGUI _score;
|
||||
|
||||
[Header("Pool")]
|
||||
[SerializeField] private Pool<Item>[] _itemPools;
|
||||
[SerializeField] private Pool<Bomb>[] _bombPools;
|
||||
|
||||
|
@ -30,6 +36,7 @@ namespace GadGame.MiniGame
|
|||
_gameManager = GameManager.Instance;
|
||||
_gameManager.OnPause += Pause;
|
||||
_gameManager.OnResume += Resume;
|
||||
_gameManager.OnScoreUpdate += OnScoreUpdate;
|
||||
_camera = Camera.main;
|
||||
SetState<PlayingGameState>();
|
||||
_time.text = GameTime.ToString();
|
||||
|
@ -41,17 +48,20 @@ namespace GadGame.MiniGame
|
|||
if (_spawnTimer >= _spawnTime)
|
||||
{
|
||||
_spawnTimer = 0;
|
||||
var gravity = Random.Range(_gravityScaleRange.x, _gravityScaleRange.y);
|
||||
var bombChance = Random.value;
|
||||
if (bombChance <= _bombChange)
|
||||
{
|
||||
var random = Random.Range(0, _bombPools.Length);
|
||||
var bomb = _bombPools[random].Get();
|
||||
bomb.Init(gravity);
|
||||
bomb.transform.position = _spawnArea.RandomPointInside();
|
||||
}
|
||||
else
|
||||
{
|
||||
var random = Random.Range(0, _itemPools.Length);
|
||||
var item = _itemPools[random].Get();
|
||||
item.Init(gravity);
|
||||
item.transform.position = _spawnArea.RandomPointInside();
|
||||
}
|
||||
}
|
||||
|
@ -91,6 +101,11 @@ namespace GadGame.MiniGame
|
|||
{
|
||||
SetState<ResumeGameState>();
|
||||
}
|
||||
|
||||
private void OnScoreUpdate(int score)
|
||||
{
|
||||
_score.text = score.ToString();
|
||||
}
|
||||
|
||||
private void OnDrawGizmos()
|
||||
{
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
using System.IO;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GadGame.SO
|
||||
|
@ -12,5 +14,38 @@ namespace GadGame.SO
|
|||
public SceneReference GameScene;
|
||||
public SceneReference RewardScene;
|
||||
public SceneReference CTAScene;
|
||||
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public static SceneFlowConfig FindSettings()
|
||||
{
|
||||
var guids = AssetDatabase.FindAssets($"t:{nameof(SceneFlowConfig)}");
|
||||
if (guids.Length > 1) Debug.LogWarning("Found multiple settings files, using the first.");
|
||||
|
||||
switch (guids.Length)
|
||||
{
|
||||
case 0:
|
||||
return null;
|
||||
default:
|
||||
var path = AssetDatabase.GUIDToAssetPath(guids[0]);
|
||||
return AssetDatabase.LoadAssetAtPath<SceneFlowConfig>(path);
|
||||
}
|
||||
}
|
||||
|
||||
public static SceneFlowConfig GetOrCreateSettings()
|
||||
{
|
||||
var settings = FindSettings();
|
||||
if (settings == null)
|
||||
{
|
||||
settings = CreateInstance<SceneFlowConfig>();
|
||||
string path = "Assets/_Game/SO/SceneFlowConfig";
|
||||
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
|
||||
AssetDatabase.CreateAsset(settings, $"{path}/Scene Flow Config.asset");
|
||||
AssetDatabase.SaveAssets();
|
||||
}
|
||||
|
||||
return settings;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
using Cysharp.Threading.Tasks;
|
||||
using GadGame.Manager;
|
||||
using GadGame.MiniGame;
|
||||
using UnityEngine;
|
||||
|
@ -6,9 +7,10 @@ namespace GadGame.State.GameState
|
|||
{
|
||||
public class EndGameState : State<MiniGameController>
|
||||
{
|
||||
public override void Enter()
|
||||
public override async void Enter()
|
||||
{
|
||||
Debug.Log("End Game");
|
||||
await UniTask.Delay(3000);
|
||||
GameManager.Instance.EndGame();
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,8 @@ namespace GadGame
|
|||
public static Vector2 RandomPointInside(this Rect rect)
|
||||
{
|
||||
var rectSize = rect.size;
|
||||
return rect.position + new Vector2(Random.Range(0, rectSize.x), Random.Range(0, rectSize.y));
|
||||
var bottomLeft = rect.position + new Vector2(-rect.width / 2, -rect.height / 2);
|
||||
return bottomLeft + new Vector2(Random.Range(0, rectSize.x), Random.Range(0, rectSize.y));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue