tweak: change input mini game

master
tiendat3699 2024-04-16 12:03:46 +07:00
parent 2127e328b3
commit 34e5dc9f2b
3 changed files with 9 additions and 11 deletions

View File

@ -1246,6 +1246,7 @@ MonoBehaviour:
GameTime: 60 GameTime: 60
_basket: {fileID: 1254852291} _basket: {fileID: 1254852291}
_lerp: 10 _lerp: 10
_speed: 20
_spawnTime: 0.5 _spawnTime: 0.5
_bombChange: 0.2 _bombChange: 0.2
_spawnArea: _spawnArea:

View File

@ -18,6 +18,7 @@ namespace GadGame.Manager
public void UpdateScore(int value) public void UpdateScore(int value)
{ {
_score += value; _score += value;
if (_score <= 0) _score = 0;
OnScoreUpdate?.Invoke(_score); OnScoreUpdate?.Invoke(_score);
} }

View File

@ -15,6 +15,7 @@ namespace GadGame.MiniGame
public int GameTime; public int GameTime;
[SerializeField] private Transform _basket; [SerializeField] private Transform _basket;
[SerializeField] private float _lerp; [SerializeField] private float _lerp;
[SerializeField] private float _speed;
[SerializeField] private float _spawnTime; [SerializeField] private float _spawnTime;
[SerializeField, Range(0,1)] private float _bombChange; [SerializeField, Range(0,1)] private float _bombChange;
[SerializeField] private Rect _spawnArea; [SerializeField] private Rect _spawnArea;
@ -30,7 +31,6 @@ namespace GadGame.MiniGame
[SerializeField] private Pool<Bomb>[] _bombPools; [SerializeField] private Pool<Bomb>[] _bombPools;
private GameManager _gameManager; private GameManager _gameManager;
private Camera _camera;
private float _spawnTimer; private float _spawnTimer;
private void Start() private void Start()
@ -39,7 +39,6 @@ namespace GadGame.MiniGame
_gameManager.OnPause += Pause; _gameManager.OnPause += Pause;
_gameManager.OnResume += Resume; _gameManager.OnResume += Resume;
_gameManager.OnScoreUpdate += OnScoreUpdate; _gameManager.OnScoreUpdate += OnScoreUpdate;
_camera = Camera.main;
SetState<PlayingGameState>(); SetState<PlayingGameState>();
_time.text = GameTime.ToString(); _time.text = GameTime.ToString();
} }
@ -73,16 +72,13 @@ namespace GadGame.MiniGame
{ {
//640x480; //640x480;
var inputData = DataReceiver.Instance.DataReceived.PosPoint; var inputData = DataReceiver.Instance.DataReceived.PosPoint;
var inputNormalize = new Vector2(inputData.x / 640, inputData.y / 480); var inputNormalize = new Vector2(inputData.x / 640, -inputData.y / 480).normalized;
var input = new Vector2(); if (inputNormalize != Vector2.zero)
input.x = Mathf.Lerp(0, _canvas.pixelRect.width, inputNormalize.x);
input.y = -Mathf.Lerp(0, _canvas.pixelRect.height, inputNormalize.y);
if (input != Vector2.zero)
{ {
var mousePos = input; var dirMove = inputNormalize;
var pos = _camera.ScreenToWorldPoint(mousePos);
var currentPosition = _basket.position; var currentPosition = _basket.position;
pos.x *= -1; var pos = currentPosition + (Vector3)dirMove * (_speed * Time.deltaTime);
pos.x = Mathf.Clamp(pos.x, -2.25f, 2.25f);
pos.y = currentPosition.y; pos.y = currentPosition.y;
pos.z = 0; pos.z = 0;
_basket.position = Vector3.Lerp(currentPosition, pos, _lerp * Time.deltaTime); _basket.position = Vector3.Lerp(currentPosition, pos, _lerp * Time.deltaTime);