Переходы между днями

This commit is contained in:
Евгений Титаренко 2024-08-25 13:17:20 +03:00
parent 71502b0653
commit 26db1ea66d
4 changed files with 42 additions and 25 deletions

View file

@ -101,6 +101,8 @@ public partial class Player : CharacterBody2D
private PackedScene _dialogBox = GD.Load<PackedScene>("res://prefabs/Dialog.tscn");
public ColorRect CRect { get; private set; }
public override void _Ready()
{
_sprite = (AnimatedSprite2D)FindChild("AnimatedSprite2D");
@ -111,6 +113,7 @@ public partial class Player : CharacterBody2D
_camera = (Camera2D)FindChild("Camera2D");
_footsteps = (AudioCollection)FindChild("Footsteps");
_doorSounds = (AudioCollection)FindChild("DoorSounds");
CRect = (ColorRect)FindChild("ColorRect");
}
public override void _PhysicsProcess(double delta)
@ -119,19 +122,7 @@ public partial class Player : CharacterBody2D
{
case State.Normal:
if (_camera.Offset != _cameraDefaultPosition)
{
if (_currentCameraTransitionTime < CameraTransitionTime)
{
_camera.Offset = _cameraChatLogPosition.Lerp(_cameraDefaultPosition,
(float)(_currentCameraTransitionTime * 1 / CameraTransitionTime));
_currentCameraTransitionTime += delta;
}
else
{
_currentCameraTransitionTime = 0;
}
}
HideChatLog(delta);
Vector2 velocity = Velocity;
@ -179,12 +170,30 @@ public partial class Player : CharacterBody2D
ShowChatLog(delta);
break;
case State.Wait:
_camera.Offset = _cameraDefaultPosition;
break;
default:
throw new ArgumentOutOfRangeException();
}
}
private void HideChatLog(double delta)
{
if (_camera.Offset != _cameraDefaultPosition)
{
if (_currentCameraTransitionTime < CameraTransitionTime)
{
_camera.Offset = _cameraChatLogPosition.Lerp(_cameraDefaultPosition,
(float)(_currentCameraTransitionTime * 1 / CameraTransitionTime));
_currentCameraTransitionTime += delta;
}
else
{
_currentCameraTransitionTime = 0;
}
}
}
private void ShowChatLog(double delta)
{
if (_camera.Offset != _cameraChatLogPosition)