private void OnWatchedChange(WatcherChangeTypes change, string name, string oldName)
{
switch (change)
{
case WatcherChangeTypes.Created:
string path = Path.Combine(dir.FullName, name);
if (Directory.Exists(path))
{
LuaScriptFolderInfo newFolder
= new LuaScriptFolderInfo(component, this, new DirectoryInfo(path));
RefreshIcons();
if (name == creating)
{
component.editor.GUIController.ProjectTree.SelectNode(component, newFolder.key);
}
}
else
{
LuaScriptFileInfo newScript
= new LuaScriptFileInfo(component, this, new FileInfo(path));
RefreshIcons();
if (name == creating)
{
component.editor.GUIController.ProjectTree.SelectNode(component, newScript.key);
newScript.Open();
}
}
creating = null;
break;
case WatcherChangeTypes.Deleted:
{
LuaScriptFileInfo script;
LuaScriptFolderInfo folder;
if (Scripts.TryGetValue(name.ToLower(), out script))
{
script.BeenDeleted();
}
else if (SubFolders.TryGetValue(name.ToLower(), out folder))
{
folder.BeenDeleted();
}
break;
}
case WatcherChangeTypes.Changed:
break;
case WatcherChangeTypes.Renamed:
if (SubFolders.ContainsKey(oldName.ToLower()))
{
SubFolders[oldName.ToLower()].BeenRenamed(name);
}
else if (Scripts.ContainsKey(oldName.ToLower()))
{
Scripts[oldName.ToLower()].BeenRenamed(name);
}
break;
}
}