/// <summary> /// Create project watch from Lua variable /// </summary> /// <param name="luaVar"></param> /// <returns></returns> public static SledLuaProjectFilesWatchType CreateFromLuaVar(ISledLuaVarBaseType luaVar) { var projectFilesWatch = new DomNode(SledLuaSchema.SledLuaProjectFilesWatchType.Type) .As <SledLuaProjectFilesWatchType>(); var luaLanguagePlugin = SledServiceInstance.TryGet <SledLuaLanguagePlugin>(); projectFilesWatch.Name = luaVar.DisplayName; projectFilesWatch.LanguagePlugin = luaLanguagePlugin; projectFilesWatch.Scope = luaVar.Scope; projectFilesWatch.Context = SledLuaVarLookUpContextType.WatchProject; projectFilesWatch.LookUp = SledLuaVarLookUpType.FromLuaVar(luaVar, projectFilesWatch.Context); return(projectFilesWatch); }
public ExpandedState(T variable) { Variable = variable; var rootNode = variable.DomNode.GetRoot(); Root = ReferenceEquals(variable.DomNode.Parent, rootNode); OwnerList = rootNode.As <SledLuaVarBaseListType <T> >(); Context = SledLuaVarLookUpContextType.Normal; { var luaVarWatchList = OwnerList.As <SledLuaVarWatchListType>(); if (luaVarWatchList != null) { Context = luaVarWatchList.IsCustomWatchedVariable(Variable) ? SledLuaVarLookUpContextType.WatchCustom : SledLuaVarLookUpContextType.WatchProject; } } LookUp = SledLuaVarLookUpType.FromLuaVar(variable, Context); Children = new List <ExpandedState>(); }