public void Translate(Vector2 normalizedDestination) { _gameObject.transform.Translate(normalizedDestination * (_speed * Time.deltaTime)); VelocityHandler?.Invoke(normalizedDestination, FacingDirection); Node currentNode = Utils.NodeAt(Utils.ToVector2Int(WorldPosition)); if (currentNode.IsTraversable) { OnGridPositionChange?.Invoke(_lastTraversablePosition, currentNode.Position); _lastTraversablePosition = currentNode.Position; } OnPositionChange?.Invoke(WorldPosition); }
public void SetPosition(Vector2 position) { _gameObject.transform.position = position; OnGridPositionChange?.Invoke(_lastTraversablePosition, Utils.ToVector2Int(position)); _lastTraversablePosition = Utils.ToVector2Int(position); }