camera_system #5

Merged
Jeonghyeon merged 18 commits from camera_system into develop 2025-07-14 07:10:06 +00:00
4 changed files with 23 additions and 22 deletions
Showing only changes of commit 2d123da297 - Show all commits

View File

@ -31,7 +31,6 @@ public async void PostInit()
{ {
if (IsGameStarted() == false) if (IsGameStarted() == false)
{ {
await Task.Delay(3000);
await ChangeFlow(GameFlowState.ReadyForRestaurant); await ChangeFlow(GameFlowState.ReadyForRestaurant);
} }
} }
@ -84,13 +83,9 @@ private async Task ReadyNewFlow(GameFlowState newFlowState)
{ {
var obj = await AssetManager.LoadAsset<UnityEngine.Object>(assetRef); var obj = await AssetManager.LoadAsset<UnityEngine.Object>(assetRef);
if (obj is GameObject prefab) if (obj is GameFlowReadyHandler handler)
{ {
Instantiate(prefab); await handler.OnReadyNewFlow(newFlowState);
}
else
{
Debug.LogWarning($"[ReadyNewFlow] Not a GameObject: {assetRef.RuntimeKey}");
} }
} }
} }

View File

@ -0,0 +1,10 @@
using System.Threading.Tasks;
using UnityEngine;
namespace DDD
{
public abstract class GameFlowReadyHandler : ScriptableObject
{
public abstract Task OnReadyNewFlow(GameFlowState newFlowState);
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b072e73316b7d534b8ec18ffa0b8bfa2

View File

@ -1,26 +1,20 @@
using System; using System.Threading.Tasks;
using UnityEngine; using UnityEngine;
namespace DDD namespace DDD
{ {
public class CreateRestaurantPlayer : MonoBehaviour [CreateAssetMenu(fileName = "CreateRestaurantPlayer", menuName = "GameFlow/CreateRestaurantPlayer")]
public class CreateRestaurantPlayer : GameFlowReadyHandler
{ {
[SerializeField] [SerializeField]
private Vector3 _spawnPosition; private Vector3 _spawnPosition;
private async void Start() public override async Task OnReadyNewFlow(GameFlowState newFlowState)
{
try
{ {
var playerPrefab = await AssetManager.LoadAsset<GameObject>(CommonConstants.RestaurantPlayer); var playerPrefab = await AssetManager.LoadAsset<GameObject>(CommonConstants.RestaurantPlayer);
var player = Instantiate(playerPrefab, _spawnPosition, playerPrefab.transform.rotation); var player = Instantiate(playerPrefab, _spawnPosition, playerPrefab.transform.rotation);

리터럴 스트링 제거할 방법이 있을까요?

리터럴 스트링 제거할 방법이 있을까요?
player.name = CommonConstants.RestaurantPlayer; player.name = CommonConstants.RestaurantPlayer;
CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera).SetFollowAndLookAtTarget(player.transform); CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera).SetFollowAndLookAtTarget(player.transform);
} }

여기도 리터럴 스트링 제거하고 레퍼런스 기반으로 작업할 방법이 있을까요?

여기도 리터럴 스트링 제거하고 레퍼런스 기반으로 작업할 방법이 있을까요?
catch (Exception e)
{
Debug.LogError($"Create player failed\n{e.Message}");
}
}
} }
} }