Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
 public void SetPosition(Vector2 position)
 {
     _gameObject.transform.position = position;
     OnGridPositionChange?.Invoke(_lastTraversablePosition, Utils.ToVector2Int(position));
     _lastTraversablePosition = Utils.ToVector2Int(position);
 }