+ UiManager의 CombatUi, OceanUi 모두 분리 각각의 씬에서 CombatUiManager, OceanUiManager로 변경 + Ocean, OceanUi input action map 추가 및 변경 input action map, uiManager 변경에 따른 Player input 로직 변경 + CombatPlayer가 죽으면 GameOverUi 추가 + 재시작 기능 추가 + 인벤토리 Ui 수정 + 슬라임 보스 로직 및 애니메이션 수정
144 lines
6.3 KiB
C#
144 lines
6.3 KiB
C#
// using System;
|
|
// using Sirenix.OdinInspector;
|
|
// using UnityEngine;
|
|
//
|
|
// // ReSharper disable once CheckNamespace
|
|
// namespace BlueWaterProject
|
|
// {
|
|
// public class CombatOnGui : MonoBehaviour
|
|
// {
|
|
// [Title("컴포넌트")]
|
|
// [SerializeField] private PhysicsMovement combatPlayerMovement;
|
|
// [SerializeField] private CombatLight combatLight;
|
|
// [SerializeField] private BossPortal[] bossPortal;
|
|
//
|
|
// [Title("GUI 옵션")]
|
|
// [SerializeField] private bool showGUI = true;
|
|
// [SerializeField] private int guiTextSize = 28;
|
|
//
|
|
// private float prevForwardSlopeAngle;
|
|
// private bool toggle = true;
|
|
//
|
|
// private void OnGUI()
|
|
// {
|
|
// if (Application.isPlaying == false) return;
|
|
//
|
|
// var yPos = 5f;
|
|
// var newToggleState = GUI.Toggle(new Rect(Screen.width - 100f, yPos, 150f, 30f), toggle, "Developer");
|
|
// if (newToggleState != toggle)
|
|
// {
|
|
// toggle = newToggleState;
|
|
// showGUI = !showGUI;
|
|
// }
|
|
//
|
|
// if (!showGUI) return;
|
|
// if (!enabled) return;
|
|
//
|
|
// GUIStyle labelStyle = GUI.skin.label;
|
|
// labelStyle.normal.textColor = Color.yellow;
|
|
// labelStyle.fontSize = Math.Max(guiTextSize, 20);
|
|
//
|
|
// prevForwardSlopeAngle = combatPlayerMovement.MyCurrentValue.forwardSlopeAngle == -90f
|
|
// ? prevForwardSlopeAngle
|
|
// : combatPlayerMovement.MyCurrentValue.forwardSlopeAngle;
|
|
//
|
|
// var oldColor = GUI.color;
|
|
// GUI.color = new Color(0f, 0f, 0f, 0.5f);
|
|
// GUI.Box(new Rect(40, 40, 420, 240), "");
|
|
// GUI.color = oldColor;
|
|
//
|
|
// GUILayout.BeginArea(new Rect(50, 50, 1000, 500));
|
|
// GUILayout.Label($"Ground Height : {Mathf.Min(combatPlayerMovement.MyCurrentValue.groundDistance, 99.99f): 00.00}",
|
|
// labelStyle);
|
|
// GUILayout.Label($"Slope Angle(Ground) : {combatPlayerMovement.MyCurrentValue.groundSlopeAngle: 00.00}", labelStyle);
|
|
// GUILayout.Label($"Slope Angle(Forward) : {prevForwardSlopeAngle: 00.00}", labelStyle);
|
|
// GUILayout.Label($"Allowed Slope Angle : {combatPlayerMovement.MyMovementOption.maxSlopeAngle: 00.00}", labelStyle);
|
|
// GUILayout.Label($"Current Speed Mag : {combatPlayerMovement.MyCurrentValue.horizontalVelocity.magnitude: 00.00}",
|
|
// labelStyle);
|
|
// GUILayout.EndArea();
|
|
//
|
|
// float sWidth = Screen.width;
|
|
// float sHeight = Screen.height;
|
|
//
|
|
// GUIStyle RTLabelStyle = GUI.skin.label;
|
|
// RTLabelStyle.fontSize = 20;
|
|
// RTLabelStyle.normal.textColor = Color.green;
|
|
//
|
|
// oldColor = GUI.color;
|
|
// GUI.color = new Color(1f, 1f, 1f, 0.5f);
|
|
// GUI.Box(new Rect(sWidth - 355f, 25f, 340f, 80f), "");
|
|
// GUI.color = oldColor;
|
|
//
|
|
// yPos = 30f;
|
|
// GUI.Label(new Rect(sWidth - 350f, yPos, 150f, 30f), $"Speed : {combatPlayerMovement.MyMovementOption.moveSpeed: 00.00}",
|
|
// RTLabelStyle);
|
|
// combatPlayerMovement.MyMovementOption.moveSpeed = GUI.HorizontalSlider(new Rect(sWidth - 180f, yPos + 10f, 160f, 20f),
|
|
// combatPlayerMovement.MyMovementOption.moveSpeed, 1f, 10f);
|
|
//
|
|
// yPos += 20f;
|
|
// GUI.Label(new Rect(sWidth - 350f, yPos, 150f, 30f), $"Max Slope : {combatPlayerMovement.MyMovementOption.maxSlopeAngle: 00}",
|
|
// RTLabelStyle);
|
|
// combatPlayerMovement.MyMovementOption.maxSlopeAngle = (int)GUI.HorizontalSlider(
|
|
// new Rect(sWidth - 180f, yPos + 10f, 160f, 20f), combatPlayerMovement.MyMovementOption.maxSlopeAngle, 1f, 75f);
|
|
//
|
|
// yPos += 20f;
|
|
// GUI.Label(new Rect(sWidth - 350f, yPos, 180f, 30f), $"TimeScale : {Time.timeScale: 0.00}",
|
|
// RTLabelStyle);
|
|
// Time.timeScale = GUI.HorizontalSlider(
|
|
// new Rect(sWidth - 180f, yPos + 10f, 160f, 20f), Time.timeScale, 0f, 1f);
|
|
// Time.fixedDeltaTime = 0.02f * Time.timeScale;
|
|
//
|
|
// yPos = 130f;
|
|
// var buttonWidth = 200f;
|
|
// var buttonHeight = 30f;
|
|
// var buttonSpacing = 35f;
|
|
//
|
|
// var buttonStyle = GUI.skin.button;
|
|
// buttonStyle.fontSize = 15;
|
|
//
|
|
// var spawnPosition = combatPlayerMovement.MyComponents.spawnPosition;
|
|
// for (var i = 0; i < spawnPosition.Length; i++)
|
|
// {
|
|
// if (GUI.Button(new Rect(sWidth - 350f, yPos, buttonWidth, buttonHeight), spawnPosition[i].name, buttonStyle))
|
|
// {
|
|
// SpawnPlayer(spawnPosition[i].position);
|
|
// }
|
|
// yPos += buttonSpacing;
|
|
// }
|
|
//
|
|
// buttonWidth = 80f;
|
|
// buttonHeight = 30f;
|
|
// yPos = 10f;
|
|
// if (GUI.Button(new Rect(sWidth - 550f, yPos, buttonWidth, buttonHeight), "Base", buttonStyle))
|
|
// {
|
|
// combatLight.CurrentTimeOfDay = CombatLight.TimeOfDay.BASE;
|
|
// }
|
|
// if (GUI.Button(new Rect(sWidth - 450f, yPos, buttonWidth, buttonHeight), "Afternoon", buttonStyle))
|
|
// {
|
|
// combatLight.CurrentTimeOfDay = CombatLight.TimeOfDay.AFTERNOON;
|
|
// }
|
|
//
|
|
// yPos += 40f;
|
|
// if (GUI.Button(new Rect(sWidth - 550f, yPos, buttonWidth, buttonHeight), "Sunset", buttonStyle))
|
|
// {
|
|
// combatLight.CurrentTimeOfDay = CombatLight.TimeOfDay.SUNSET;
|
|
// }
|
|
// if (GUI.Button(new Rect(sWidth - 450f, yPos, buttonWidth, buttonHeight), "Night", buttonStyle))
|
|
// {
|
|
// combatLight.CurrentTimeOfDay = CombatLight.TimeOfDay.NIGHT;
|
|
// }
|
|
//
|
|
// labelStyle.fontSize = Math.Max(guiTextSize, 20);
|
|
// }
|
|
//
|
|
// private void SpawnPlayer(Vector3 position)
|
|
// {
|
|
// combatPlayerMovement.Move(position);
|
|
//
|
|
// foreach (var element in bossPortal)
|
|
// {
|
|
// element.ResetPortal();
|
|
// }
|
|
// }
|
|
// }
|
|
// } |