코드 정리 및 Speed 테이블값 적용으로 수정
This commit is contained in:
parent
706b37a049
commit
1960538ec8
|
@ -23,11 +23,13 @@ public class AddressableManager : UnitySingleton<AddressableManager>
|
||||||
{
|
{
|
||||||
var handle = Addressables.LoadAssetAsync<T>(name);
|
var handle = Addressables.LoadAssetAsync<T>(name);
|
||||||
|
|
||||||
|
//우선은 동기식으로. 추후 필요시 비동기 추가
|
||||||
var result = handle.WaitForCompletion();
|
var result = handle.WaitForCompletion();
|
||||||
Addressables.Release(handle);
|
Addressables.Release(handle);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region ObjectPool
|
||||||
public GameObject Spawn(string name, Transform parent = null)
|
public GameObject Spawn(string name, Transform parent = null)
|
||||||
{
|
{
|
||||||
if(!_objectPoolDict.ContainsKey(name))
|
if(!_objectPoolDict.ContainsKey(name))
|
||||||
|
@ -125,4 +127,6 @@ public class AddressableManager : UnitySingleton<AddressableManager>
|
||||||
{
|
{
|
||||||
Destroy(obj);
|
Destroy(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion ObjectPool
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,5 @@ public static class Constants
|
||||||
//TODO : 마우스 감도 조절 등에 변경 가능한지 확인 필요
|
//TODO : 마우스 감도 조절 등에 변경 가능한지 확인 필요
|
||||||
public static readonly float CAM_TURN_SPEED = 40;
|
public static readonly float CAM_TURN_SPEED = 40;
|
||||||
|
|
||||||
//TODO : 캐릭터 데이터 완료되면 데이터 값으로 사용해야함
|
|
||||||
public static readonly float MOVE_SPEED = 3;
|
|
||||||
public static readonly float JUMP_FORCE = 3f;
|
public static readonly float JUMP_FORCE = 3f;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ public class TableManager : UnitySingleton<TableManager>
|
||||||
|
|
||||||
#endregion LoadAssets
|
#endregion LoadAssets
|
||||||
//테이블별로 테이블 가져오는 함수를 계속 추가해 줘야하는 단점...
|
//테이블별로 테이블 가져오는 함수를 계속 추가해 줘야하는 단점...
|
||||||
|
//전부 메모리에 올려두고 사용하는게 나을지 고민 필요
|
||||||
#region Prop
|
#region Prop
|
||||||
public JPropInfoData GetPropInfoById(int id)
|
public JPropInfoData GetPropInfoById(int id)
|
||||||
{
|
{
|
||||||
|
|
|
@ -113,6 +113,7 @@ public class UIManager : UnitySingleton<UIManager>
|
||||||
return uiBase;
|
return uiBase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Close UI
|
||||||
public void CloseUI(UIBase ui)
|
public void CloseUI(UIBase ui)
|
||||||
{
|
{
|
||||||
switch(ui.UI_ROOT_TYPE)
|
switch(ui.UI_ROOT_TYPE)
|
||||||
|
@ -143,13 +144,7 @@ public class UIManager : UnitySingleton<UIManager>
|
||||||
Destroy(_loadingUI.gameObject);
|
Destroy(_loadingUI.gameObject);
|
||||||
_loadingUI = null;
|
_loadingUI = null;
|
||||||
}
|
}
|
||||||
private IEnumerator DelayCloseLoading()
|
|
||||||
{
|
|
||||||
yield return new WaitForSeconds(0.5f);
|
|
||||||
_loadingUI.CloseAction();
|
|
||||||
Destroy(_loadingUI.gameObject);
|
|
||||||
_loadingUI = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ReleaseUI()
|
public void ReleaseUI()
|
||||||
{
|
{
|
||||||
|
@ -167,6 +162,9 @@ public class UIManager : UnitySingleton<UIManager>
|
||||||
_systemUIList = new();
|
_systemUIList = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Close UI
|
||||||
|
|
||||||
|
#region Utils
|
||||||
public Camera GetUICam()
|
public Camera GetUICam()
|
||||||
{
|
{
|
||||||
var uiCam = _uiCanvas.worldCamera;
|
var uiCam = _uiCanvas.worldCamera;
|
||||||
|
@ -179,4 +177,5 @@ public class UIManager : UnitySingleton<UIManager>
|
||||||
var uiCam = _uiCanvas.worldCamera;
|
var uiCam = _uiCanvas.worldCamera;
|
||||||
uiCam.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Base;
|
uiCam.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Base;
|
||||||
}
|
}
|
||||||
|
#endregion Utils
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,6 @@ public class PlayerController : MonoBehaviour
|
||||||
_currentTeam = E_TEAM.Red;
|
_currentTeam = E_TEAM.Red;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
if(IsBlock)
|
if(IsBlock)
|
||||||
|
@ -51,7 +50,7 @@ public class PlayerController : MonoBehaviour
|
||||||
var _moveHorizontal = Input.GetAxis("Horizontal");
|
var _moveHorizontal = Input.GetAxis("Horizontal");
|
||||||
var _moveVertical = Input.GetAxis("Vertical");
|
var _moveVertical = Input.GetAxis("Vertical");
|
||||||
|
|
||||||
_playerMove.Move(_moveHorizontal, _moveVertical);
|
_playerMove.Move(_moveHorizontal, _moveVertical, _tableData.SPEED);
|
||||||
|
|
||||||
if(Input.GetKeyDown(KeyCode.Space))
|
if(Input.GetKeyDown(KeyCode.Space))
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ public class PlayerMove : MonoBehaviour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Move(float horizontal, float vertical)
|
public void Move(float horizontal, float vertical, float speed)
|
||||||
{
|
{
|
||||||
var dir = (_playerObj.transform.forward * vertical) + (_playerObj.transform.right * horizontal);
|
var dir = (_playerObj.transform.forward * vertical) + (_playerObj.transform.right * horizontal);
|
||||||
_moveDir.x = dir.x;
|
_moveDir.x = dir.x;
|
||||||
|
@ -26,7 +26,7 @@ public class PlayerMove : MonoBehaviour
|
||||||
{
|
{
|
||||||
_moveDir.y += Physics.gravity.y * Time.deltaTime;
|
_moveDir.y += Physics.gravity.y * Time.deltaTime;
|
||||||
}
|
}
|
||||||
_characterController.Move(_moveDir * Constants.MOVE_SPEED * Time.deltaTime);
|
_characterController.Move(_moveDir * speed * Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Rotate(float rotate)
|
public void Rotate(float rotate)
|
||||||
|
|
|
@ -40,6 +40,7 @@ public class PropController : MonoBehaviour
|
||||||
private void InitData(JPropInfoData data)
|
private void InitData(JPropInfoData data)
|
||||||
{
|
{
|
||||||
_trailFx.SetActive(false);
|
_trailFx.SetActive(false);
|
||||||
|
//TODO : 생성 시 FX 추가해야함
|
||||||
//_spawnFx.SetActive(true);
|
//_spawnFx.SetActive(true);
|
||||||
|
|
||||||
_rigidBody = GetComponent<Rigidbody>();
|
_rigidBody = GetComponent<Rigidbody>();
|
||||||
|
|
|
@ -21,6 +21,7 @@ public class StageManager : UnitySingletonOnce<StageManager>
|
||||||
|
|
||||||
public bool IsSpawnable { get { return _state <= E_STAGE_STATE.Playing; } }
|
public bool IsSpawnable { get { return _state <= E_STAGE_STATE.Playing; } }
|
||||||
|
|
||||||
|
#region Initialize
|
||||||
public void Init(PlayerInfo player, E_STAGE_TYPE type)
|
public void Init(PlayerInfo player, E_STAGE_TYPE type)
|
||||||
{
|
{
|
||||||
_currentStageType = type;
|
_currentStageType = type;
|
||||||
|
@ -45,11 +46,27 @@ public class StageManager : UnitySingletonOnce<StageManager>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion Initialize
|
||||||
|
|
||||||
|
#region Play Control
|
||||||
public void StartGame()
|
public void StartGame()
|
||||||
{
|
{
|
||||||
_state = E_STAGE_STATE.Playing;
|
_state = E_STAGE_STATE.Playing;
|
||||||
StartCoroutine(PlayTimer());
|
StartCoroutine(PlayTimer());
|
||||||
}
|
}
|
||||||
|
public void GameOver()
|
||||||
|
{
|
||||||
|
_state = E_STAGE_STATE.End;
|
||||||
|
_currentPlayer.Block();
|
||||||
|
var ui = UIManager.Instance.OpenUI(E_UI_TYPE.UIPanelStageResult) as UIPanelStageResult;
|
||||||
|
ui.SetData(_gotPropDict);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void GameEnd()
|
||||||
|
{
|
||||||
|
_currentPlayer.GameOver();
|
||||||
|
}
|
||||||
|
#endregion Play Control
|
||||||
|
|
||||||
public void UpdateScore(E_TEAM team, JPropInfoData prop)
|
public void UpdateScore(E_TEAM team, JPropInfoData prop)
|
||||||
{
|
{
|
||||||
|
@ -90,25 +107,12 @@ public class StageManager : UnitySingletonOnce<StageManager>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//낙하했을 때
|
//플레이어 낙하했을 때
|
||||||
public void PlayerFall(PlayerController player)
|
public void PlayerFall(PlayerController player)
|
||||||
{
|
{
|
||||||
_spawnController.RespawnPlayer(player);
|
_spawnController.RespawnPlayer(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void GameOver()
|
|
||||||
{
|
|
||||||
_state = E_STAGE_STATE.End;
|
|
||||||
_currentPlayer.Block();
|
|
||||||
var ui = UIManager.Instance.OpenUI(E_UI_TYPE.UIPanelStageResult) as UIPanelStageResult;
|
|
||||||
ui.SetData(_gotPropDict);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void GameEnd()
|
|
||||||
{
|
|
||||||
_currentPlayer.GameOver();
|
|
||||||
}
|
|
||||||
|
|
||||||
#region Timer
|
#region Timer
|
||||||
private IEnumerator PlayTimer()
|
private IEnumerator PlayTimer()
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,6 +21,8 @@ public class UIPanelLoadingIntro : UIBase
|
||||||
{
|
{
|
||||||
EventBus.Instance.Unsubscribe<EventUpdateTableLadingProgress>(OnUpdateLoadingGauge);
|
EventBus.Instance.Unsubscribe<EventUpdateTableLadingProgress>(OnUpdateLoadingGauge);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//게이지에 넣을게 미확실..
|
||||||
private void OnUpdateLoadingGauge(EventUpdateTableLadingProgress e)
|
private void OnUpdateLoadingGauge(EventUpdateTableLadingProgress e)
|
||||||
{
|
{
|
||||||
_loadingSlider.value = e.Progress;
|
_loadingSlider.value = e.Progress;
|
||||||
|
|
|
@ -38,7 +38,8 @@ public class UIPanelStageResult : UIBase
|
||||||
}
|
}
|
||||||
|
|
||||||
_totalPointText.SetText(totalPoint.ToString());
|
_totalPointText.SetText(totalPoint.ToString());
|
||||||
//먹은 코인, 보석 표기해야함
|
|
||||||
|
//TODO 먹은 코인, 보석 표기해야함
|
||||||
//획득 리스트에 맞게 생성
|
//획득 리스트에 맞게 생성
|
||||||
//AddressableManager.Instance.Spawn("RewardItem", _rewardRoot)
|
//AddressableManager.Instance.Spawn("RewardItem", _rewardRoot)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user