private void CheckPlayerCollision() { var debug = _playerMovement.CompareTag("Debug"); var playerTile = MovingObject.GetTile(_playerMovement.TargetPosition.x, _playerMovement.TargetPosition.y, MovingObject.Directions.Forward, debug); var collisedObj = _movingObjGen.GetObjectOnTile(playerTile); if (collisedObj) { if (collisedObj != _lastCollisedObj) { Debug.Log("new player collision"); _lastCollisedObj = collisedObj; _movingObjGen.Pause(_lastCollisedObj); } } else { if (_lastCollisedObj is null) { return; } _movingObjGen.Resume(_lastCollisedObj); } }
private Vector2 ForwardTile() { MovingObject.GetDirectionByName(MovingObject.Directions.Forward, out var delta); var fPos = _playerMovement.TargetPosition + delta; var result = MovingObject.GetTile(fPos.x, fPos.y, MovingObject.Directions.Forward); return(result); }