Ver 0.2.3.0 업데이트

+ 맵 클리어 이후 DailyBgm으로 변경
+ ItemDropTableSo 클래스 Editor 처리
+ Rockfall 로직 변경
+ Rockfall, SpikeProjectileParticle2 shadowOnly spriteRenderer 추가
This commit is contained in:
NTG_Lenovo 2024-06-25 15:19:16 +09:00
parent 7662555fa8
commit 07ae6e86b2
11 changed files with 265 additions and 21 deletions

View File

@ -11006,7 +11006,7 @@ MonoBehaviour:
<TitanSlimeMapController>k__BackingField: {fileID: 36953787}
<RhinocerosMapController>k__BackingField: {fileID: 1011270532}
<SandMoleMapController>k__BackingField: {fileID: 1213070730}
_dailyBgm: DailyBgm2
<DailyBgm>k__BackingField: DailyBgm1
--- !u!4 &1597727070
Transform:
m_ObjectHideFlags: 0

View File

@ -2,9 +2,12 @@ using System.Collections.Generic;
using System.IO;
using BlueWater.Items;
using Newtonsoft.Json.Linq;
using UnityEditor;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace BlueWater
{
public class ItemDropTableSo : ScriptableObject
@ -15,6 +18,7 @@ namespace BlueWater
private const string CharacterDataJsonPath = "Assets/Resources/Json/CharacterData.json";
private const string FilePath = "Assets/02.Scripts/ScriptableObject/Item/ItemDropTable.asset";
#if UNITY_EDITOR
[MenuItem("Tools/ItemDropTable ScriptableObject 생성")]
private static void CreateItemDropTable()
{
@ -26,6 +30,7 @@ namespace BlueWater
AssetDatabase.SaveAssets();
Debug.Log("ItemDropTable ScriptableObject created successfully in ItemDropTableScriptableObject class.");
}
#endif
private static ItemDropTableSo CreateFromJson(string itemDropJsonString, string characterDataJsonString)
{

View File

@ -143,6 +143,7 @@ namespace BlueWater.Maps
OpenMapEntrances();
GameManager.Instance.CurrentCombatPlayer.DeactivateInvincibility();
AudioManager.Instance.PlayBgm(MapManager.Instance.DailyBgm);
}
}
}

View File

@ -16,8 +16,8 @@ namespace BlueWater.Maps
[field: SerializeField]
public SandMoleMapController SandMoleMapController { get; private set; }
[SerializeField]
private string _dailyBgm = "DailyBgm1";
[field: SerializeField]
public string DailyBgm { get; private set; }= "DailyBgm1";
private List<MapController> _mapControllers;
private MapController _currentMapController;
@ -34,7 +34,7 @@ namespace BlueWater.Maps
private void Start()
{
AudioManager.Instance.PlayBgm(_dailyBgm);
AudioManager.Instance.PlayBgm(DailyBgm);
}
public MapController GetMapController(SaveStage saveStage)
@ -61,7 +61,7 @@ namespace BlueWater.Maps
element.ResetMap(true);
}
GameManager.Instance.CurrentCombatPlayer.SetCurrentHealthPointMax();
AudioManager.Instance.PlayBgm(_dailyBgm);
AudioManager.Instance.PlayBgm(DailyBgm);
}
public void RestartCurrentMap()
@ -72,7 +72,7 @@ namespace BlueWater.Maps
}
_currentMapController = GetMapController(DataManager.Instance.CurrentSaveStage);
_currentMapController.RestartMap();
AudioManager.Instance.PlayBgm(_dailyBgm);
AudioManager.Instance.PlayBgm(DailyBgm);
}
public void MoveSelectStage(int stage)
@ -85,7 +85,7 @@ namespace BlueWater.Maps
var moveMapController = GetMapController((SaveStage)stage);
moveMapController.MovePlayer();
AudioManager.Instance.PlayBgm(_dailyBgm);
AudioManager.Instance.PlayBgm(DailyBgm);
}
public void ForceKillCurrentBoss()

View File

@ -13,6 +13,9 @@ namespace BlueWater
[Title("컴포넌트")]
[SerializeField, Required]
private SphereCollider _sphereCollider;
[SerializeField, Required]
private GameObject _visualLook;
[SerializeField]
private DecalProjector _indicator;
@ -28,11 +31,17 @@ namespace BlueWater
[SerializeField]
private LayerMask _groundLayer;
[SerializeField, Range(0f, 5f), ShowIf("@_isUsingIndicator")]
private float _indicatorTime = 0.5f;
[SerializeField, Range(0f, 5f)]
private float _fallTime = 1f;
private float _fallTime = 0.5f;
[SerializeField, Range(0, 5)]
private int _attackDamage = 1;
[SerializeField]
private bool _isAcceleratedFall = true;
[Title("Ground Crash 설정")]
[SerializeField]
@ -52,6 +61,7 @@ namespace BlueWater
private IEnumerator Start()
{
_visualLook.SetActive(false);
_sphereCollider.enabled = false;
_startPosition = transform.position;
SpawnLocation = MapManager.Instance.SandMoleMapController.ParticleInstanceLocation;
@ -67,15 +77,15 @@ namespace BlueWater
ShowIndicator();
var elapsedTime = 0f;
while (elapsedTime <= _fallTime)
while (elapsedTime <= _indicatorTime)
{
var time = elapsedTime / _fallTime;
var time = elapsedTime / _indicatorTime;
if (_isUsingIndicator && _indicator)
{
var fillValue = Mathf.Lerp(0f, 1f, time);
_indicator.material.SetFloat(_fillHash, fillValue);
}
transform.position = Vector3.Lerp(_startPosition, _endPosition, time);
//transform.position = Vector3.Lerp(_startPosition, _endPosition, time);
elapsedTime += Time.deltaTime;
yield return null;
@ -83,6 +93,37 @@ namespace BlueWater
_indicator.material.SetFloat(_fillHash, 1f);
HideIndicator();
_visualLook.SetActive(true);
if (_isAcceleratedFall)
{
var distance = Vector3.Distance(_startPosition, _endPosition);
var acceleration = 2 * distance / (_fallTime * _fallTime); // a = 2d / t^2
elapsedTime = 0f;
while (elapsedTime <= _fallTime)
{
var time = elapsedTime;
var displacement = 0.5f * acceleration * time * time;
var progress = displacement / distance;
transform.position = Vector3.Lerp(_startPosition, _endPosition, progress);
elapsedTime += Time.deltaTime;
yield return null;
}
}
else
{
elapsedTime = 0f;
while (elapsedTime <= _fallTime)
{
var time = elapsedTime / _fallTime;
transform.position = Vector3.Lerp(_startPosition, _endPosition, time);
elapsedTime += Time.deltaTime;
yield return null;
}
}
if (!string.IsNullOrEmpty(_groundCrashSfxName))
{

View File

@ -38,4 +38,4 @@ MonoBehaviour:
<RockfallPrefab>k__BackingField: {fileID: 403575580428700795, guid: 28e4d21533af9b949a4cb910f2d4fa4c, type: 3}
<RandomSide>k__BackingField: {x: -2, y: 2}
<RockfallInterval>k__BackingField: 2
<RockfallSpawnHeight>k__BackingField: 5
<RockfallSpawnHeight>k__BackingField: 10

View File

@ -1,8 +1,6 @@
using System;
using DG.Tweening;
using Sirenix.OdinInspector;
using TMPro;
using UnityEditor.Searcher;
using UnityEngine;
using UnityEngine.UI;

View File

@ -30,7 +30,7 @@ Material:
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
@ -109,7 +109,7 @@ Material:
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cull: 0
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1

View File

@ -9603,7 +9603,8 @@ Transform:
m_LocalPosition: {x: 0, y: 0, z: -0.5}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_ConstrainProportionsScale: 1
m_Children: []
m_Children:
- {fileID: 3599876572271264589}
m_Father: {fileID: 32251738312703202}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!198 &6923984020879853499
@ -14404,6 +14405,93 @@ ParticleSystemRenderer:
m_MeshWeighting2: 1
m_MeshWeighting3: 1
m_MaskInteraction: 0
--- !u!1 &5070106774423968683
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3599876572271264589}
- component: {fileID: 3564601698978461781}
m_Layer: 0
m_Name: Shadow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3599876572271264589
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5070106774423968683}
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 2, y: 2, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7962525787573650407}
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
--- !u!212 &3564601698978461781
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5070106774423968683}
m_Enabled: 1
m_CastShadows: 3
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_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: d3c87e7ec1e83654cb2bff3178900c99, type: 2}
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: 0
m_Sprite: {fileID: 21300000, guid: 27e9d61a31b61aa40ad14805e0c184eb, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8140003656796606540
GameObject:
m_ObjectHideFlags: 0

View File

@ -1,5 +1,92 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2120541508449996527
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6229300703101880482}
- component: {fileID: 5119753316800573436}
m_Layer: 8
m_Name: Shadow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6229300703101880482
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2120541508449996527}
serializedVersion: 2
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: 6241053207180088262}
m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0}
--- !u!212 &5119753316800573436
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2120541508449996527}
m_Enabled: 1
m_CastShadows: 3
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: d3c87e7ec1e83654cb2bff3178900c99, type: 2}
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: 5
m_Sprite: {fileID: 21300000, guid: 27e9d61a31b61aa40ad14805e0c184eb, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8995215974275723360
GameObject:
m_ObjectHideFlags: 0
@ -27,7 +114,7 @@ Transform:
serializedVersion: 2
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 5, z: 0}
m_LocalScale: {x: 1, y: 1, z: 10}
m_LocalScale: {x: 1, y: 1, z: 20}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6877682250950493550}
@ -84,6 +171,10 @@ PrefabInstance:
propertyPath: m_WasSpriteAssigned
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3580758810857167321, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 33fe0716974723b4db51774fcb38b8c7, type: 2}
- target: {fileID: 3764902268943045601, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_Name
value: Rockfall
@ -116,6 +207,10 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7835622629792856689, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
propertyPath: m_LocalScale.x
value: 1.5
@ -174,6 +269,9 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
insertIndex: -1
addedObject: {fileID: 1426941151981288099}
- targetCorrespondingSourceObject: {fileID: 7438534416270888028, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
insertIndex: -1
addedObject: {fileID: 6229300703101880482}
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 3764902268943045601, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
insertIndex: -1
@ -202,6 +300,7 @@ MonoBehaviour:
DieSfxName: SpikeAttacked
DieParticle: {fileID: 0}
_sphereCollider: {fileID: 2971964863692897937}
_visualLook: {fileID: 6709217980892358123}
_indicator: {fileID: 6370181286260610806}
_isUsingIndicator: 1
_targetLayer:
@ -210,8 +309,10 @@ MonoBehaviour:
_groundLayer:
serializedVersion: 2
m_Bits: 64
_fallTime: 1
_indicatorTime: 0.5
_fallTime: 0.5
_attackDamage: 1
_isAcceleratedFall: 1
_groundCrashSfxName:
_groundCrashParticle: {fileID: 19826678, guid: 660dfd0ccf26cbf489a7556236949683, type: 3}
--- !u!135 &2971964863692897937 stripped
@ -219,6 +320,16 @@ SphereCollider:
m_CorrespondingSourceObject: {fileID: 1772409705626034443, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
m_PrefabInstance: {fileID: 3577643095578124186}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6241053207180088262 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7438534416270888028, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
m_PrefabInstance: {fileID: 3577643095578124186}
m_PrefabAsset: {fileID: 0}
--- !u!1 &6709217980892358123 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 7835622629792856689, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}
m_PrefabInstance: {fileID: 3577643095578124186}
m_PrefabAsset: {fileID: 0}
--- !u!4 &6877682250950493550 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7986070582027999988, guid: bfc5c806b2fa3ba40850df302d3db0b7, type: 3}

View File

@ -140,7 +140,7 @@ PlayerSettings:
loadStoreDebugModeEnabled: 0
visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0
bundleVersion: 0.2.2.1
bundleVersion: 0.2.3.0
preloadedAssets:
- {fileID: -944628639613478452, guid: 4ed6540e2f7ce234888adf8deff1f241, type: 3}
metroInputSource: 0