diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player.meta b/Game/CourierOld/Assets/Code/Gameplay/Character.meta similarity index 100% rename from Game/CourierOld/Assets/Code/Gameplay/Player.meta rename to Game/CourierOld/Assets/Code/Gameplay/Character.meta diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs b/Game/CourierOld/Assets/Code/Gameplay/Character/Character.cs similarity index 81% rename from Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs rename to Game/CourierOld/Assets/Code/Gameplay/Character/Character.cs index 3c1d259..f55d67f 100644 --- a/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs +++ b/Game/CourierOld/Assets/Code/Gameplay/Character/Character.cs @@ -1,21 +1,20 @@ -using Code.Gameplay.Player; +using Code.Gameplay.Character; using Code.Input; using Reflex.Attributes; using UnityEngine; -using CharacterController = Code.Gameplay.Player.CharacterController; /* - * Главный скрипт игрока, объединяющий камеру и контроллер персонажа + * Главный скрипт персонажа, объединяющий камеру и контроллер персонажа * Обрабатывает ввод пользователя и распределяет его между компонентами * Синхронизирует состояние камеры и персонажа * Управляет переключением режимов камеры через Input System */ -public class Player : MonoBehaviour +public class Character : MonoBehaviour { [SerializeField] - private PlayerCamera playerCamera; // Компонент камеры игрока + private CharacterCamera characterCamera; // Компонент камеры персонажа [SerializeField] - private CharacterController characterController; // Компонент управления персонажем + private CustomCharacterController customCharacterController; // Компонент управления персонажем [SerializeField] private Transform cameraFollowPoint; // Точка следования камеры (уровень глаз для FirstPerson) @@ -25,11 +24,11 @@ public class Player : MonoBehaviour // Флаг для отслеживания переключения режима камеры (чтобы избежать многократных срабатываний) private bool _cameraModeToggleHandled; - // Инициализация игрока + // Инициализация персонажа private void Start() { // Настройка камеры для следования за точкой камеры - playerCamera.SetFollowTransform(cameraFollowPoint); + characterCamera.SetFollowTransform(cameraFollowPoint); // Включение Gameplay мапа ввода _inputService.EnableMap(ActionMappings.Gameplay); @@ -43,7 +42,7 @@ public class Player : MonoBehaviour var scrollInput = _inputService.ZoomInput; // Передаем данные в камеру - playerCamera.UpdateWithInput(Time.deltaTime, scrollInput, + characterCamera.UpdateWithInput(Time.deltaTime, scrollInput, new Vector3(lookInput.x, lookInput.y, 0)); } @@ -51,7 +50,7 @@ public class Player : MonoBehaviour private void HandleCharacterInput() { // Создаем структуру ввода с полной информацией о камере - var inputs = new PlayerInputs(); + var inputs = new CharacterInputs(); // Получаем данные движения из Input System var moveInput = _inputService.MoveInput; @@ -62,12 +61,12 @@ public class Player : MonoBehaviour inputs.SlidePressed = _inputService.SlidePressed; // Слайд (Ctrl) // Передаем информацию о камере для адаптивного поведения - inputs.CameraRotation = playerCamera.transform.rotation; - inputs.CameraMode = playerCamera.CurrentMode; - inputs.CameraPlanarDirection = playerCamera.PlanarDirection; + inputs.CameraRotation = characterCamera.transform.rotation; + inputs.CameraMode = characterCamera.CurrentMode; + inputs.CameraPlanarDirection = characterCamera.PlanarDirection; // Передаем ввод в контроллер персонажа - characterController.SetInputs(ref inputs); + customCharacterController.SetInputs(ref inputs); } // Обработка переключения режима камеры через Input System @@ -93,11 +92,11 @@ public class Player : MonoBehaviour // Метод для переключения режимов камеры private void ToggleCameraMode() { - var currentMode = playerCamera.CurrentMode; + var currentMode = characterCamera.CurrentMode; var newMode = currentMode == CameraMode.FirstPerson ? CameraMode.ThirdPerson : CameraMode.FirstPerson; - playerCamera.SetCameraMode(newMode); + characterCamera.SetCameraMode(newMode); } // Обновление логики каждый кадр @@ -116,4 +115,4 @@ public class Player : MonoBehaviour // Обработка ввода для камеры в LateUpdate (после движения персонажа) HandleCameraInput(); } -} +} \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Character/Character.cs.meta similarity index 100% rename from Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs.meta rename to Game/CourierOld/Assets/Code/Gameplay/Character/Character.cs.meta diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs b/Game/CourierOld/Assets/Code/Gameplay/Character/CharacterCamera.cs similarity index 98% rename from Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs rename to Game/CourierOld/Assets/Code/Gameplay/Character/CharacterCamera.cs index 392ed4a..b54bf61 100644 --- a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs +++ b/Game/CourierOld/Assets/Code/Gameplay/Character/CharacterCamera.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace Code.Gameplay.Player +namespace Code.Gameplay.Character { /* * Перечисление режимов работы камеры @@ -21,15 +21,15 @@ namespace Code.Gameplay.Player /* * Скрипт, отвечающий за поведение камеры при передвижении * Поддерживает как 3rd-person, так и 1st-person режимы камеры - * Реализует плавное следование за игроком, вращение и зум камеры + * Реализует плавное следование за персонажем, вращение и зум камеры * * Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM */ - public class PlayerCamera : MonoBehaviour + public class CharacterCamera : MonoBehaviour { [SerializeField] private float - // Расстояния от игрока до камеры + // Расстояния от персонажа до камеры defaultDistance = 6f, // Стандартное расстояние камеры от цели minDistance = 3f, // Минимальное расстояние при зуме maxDistance = 10f, // Максимальное расстояние при зуме diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Character/CharacterCamera.cs.meta similarity index 100% rename from Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs.meta rename to Game/CourierOld/Assets/Code/Gameplay/Character/CharacterCamera.cs.meta diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs b/Game/CourierOld/Assets/Code/Gameplay/Character/CustomCharacterController.cs similarity index 97% rename from Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs rename to Game/CourierOld/Assets/Code/Gameplay/Character/CustomCharacterController.cs index a1a2f3a..631052e 100644 --- a/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs +++ b/Game/CourierOld/Assets/Code/Gameplay/Character/CustomCharacterController.cs @@ -1,13 +1,13 @@ using KinematicCharacterController; using UnityEngine; -namespace Code.Gameplay.Player +namespace Code.Gameplay.Character { /* - * Структура для хранения входных данных от игрока + * Структура для хранения входных данных от персонажа * Содержит информацию о движении и состоянии камеры */ - public struct PlayerInputs + public struct CharacterInputs { public float MoveAxisForward; // Ввод движения вперед/назад (W/S или Up/Down) public float MoveAxisRight; // Ввод движения влево/вправо (A/D или Left/Right) @@ -20,13 +20,13 @@ namespace Code.Gameplay.Player } /* - * Скрипт, отвечающий за передвижения игрока + * Скрипт, отвечающий за передвижение персонажа * Реализует физическое движение персонажа с использованием Kinematic Character Controller * Обрабатывает ввод пользователя, применяет движение и вращение с учетом поверхности * * Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM */ - public class CharacterController : MonoBehaviour, ICharacterController + public class CustomCharacterController : MonoBehaviour, ICharacterController { [SerializeField] private KinematicCharacterMotor motor; // Движок физического перемещения персонажа @@ -78,8 +78,8 @@ namespace Code.Gameplay.Player _firstPersonCameraRotation = motor.Transform.rotation; // Начальное вращение совпадает с персонажем } - // Обработка и преобразование входных данных от игрока - public void SetInputs(ref PlayerInputs inputs) + // Обработка и преобразование входных данных от персонажа + public void SetInputs(ref CharacterInputs inputs) { // Обновляем таймер перезарядки слайда if (_slideCooldownTimer > 0f) @@ -194,7 +194,7 @@ namespace Code.Gameplay.Player } // Обработка ввода для FirstPerson режима - private void HandleFirstPersonInputs(ref PlayerInputs inputs, Vector3 moveInputVector) + private void HandleFirstPersonInputs(ref CharacterInputs inputs, Vector3 moveInputVector) { // Сохраняем вращение камеры для применения в UpdateRotation (только горизонтальная компонента) _firstPersonCameraRotation = ExtractHorizontalRotation(inputs.CameraRotation); @@ -215,7 +215,7 @@ namespace Code.Gameplay.Player } // Обработка ввода для ThirdPerson режима - private void HandleThirdPersonInputs(ref PlayerInputs inputs, Vector3 moveInputVector) + private void HandleThirdPersonInputs(ref CharacterInputs inputs, Vector3 moveInputVector) { // Сбрасываем флаг применения вращения камеры _shouldApplyCameraRotation = false; diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Character/CustomCharacterController.cs.meta similarity index 100% rename from Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs.meta rename to Game/CourierOld/Assets/Code/Gameplay/Character/CustomCharacterController.cs.meta diff --git a/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity b/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity index dc658f2..6c7028f 100644 --- a/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity +++ b/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity @@ -222,7 +222,7 @@ GameObject: - component: {fileID: 338454663} - component: {fileID: 338454664} m_Layer: 0 - m_Name: PlayerCamera + m_Name: CharacterCamera m_TagString: MainCamera m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -869,7 +869,7 @@ GameObject: - component: {fileID: 1696686256} - component: {fileID: 1696686258} m_Layer: 0 - m_Name: Player + m_Name: Character m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -904,8 +904,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9f2cdbe59523ace7ab0d8dfc36b4eb02, type: 3} m_Name: m_EditorClassIdentifier: Assembly-CSharp::Player - playerCamera: {fileID: 338454664} - characterController: {fileID: 1696686258} + characterCamera: {fileID: 338454664} + customCharacterController: {fileID: 1696686258} cameraFollowPoint: {fileID: 453575298} --- !u!114 &1696686256 MonoBehaviour: