Files
crtr/Assets/Cryville/Crtr/Browsing/IResourceManager.cs

34 lines
901 B
C#

using Cryville.Crtr.Browsing.Actions;
using System;
using System.Collections.Generic;
namespace Cryville.Crtr.Browsing {
public interface IResourceManager {
int Count { get; }
IResourceMeta this[int index] { get; }
Uri GetItemUri(int index);
event Action ItemChanged;
bool IsReadOnly { get; }
IResourceAction GetImportAction();
void RemoveAt(int index);
void Activate();
void Deactivate();
void ApplyFilter(string filter);
}
public interface IResourceManager<out T> : IResourceManager where T : IResourceMeta {
new T this[int index] { get; }
}
public interface IPathedResourceManager<out T> : IResourceManager<T> where T : IResourceMeta {
event Action DirectoryChanged;
IList<string> CurrentDirectory { get; }
void ChangeDirectory(IEnumerable<string> dir);
bool IsDirectory(int index);
void OpenDirectory(int index);
void ReturnToDirectory(int index);
}
}