using System.Collections.Generic;
namespace Uigenx.Binding
{
///
/// A path addressable bag of values a screen can bind to. Paths use the studio spelling:
/// dotted names with optional indexers, for example `player.hp` or `inventory.items[0].count`.
/// Implementations are main thread only.
///
public interface IUgxDataSource
{
bool TryGet(string path, out object value);
/// Returns false when the path is unknown or read only.
bool TrySet(string path, object value);
/// Every path this source can resolve. Used by the studio data stream and the schema reflector.
IEnumerable Paths { get; }
}
}