using System; using System.Windows.Forms; using CodeImp.DoomBuilder.Config; namespace CodeImp.DoomBuilder.Controls.Scripting { internal class ScriptIconsManager { private int scripttypeiconsoffset; private int scriptgroupiconsoffset; private int scriptgroupopeniconsoffset; private ImageList icons; internal int ScriptTypeIconsOffset { get { return scripttypeiconsoffset; } } internal int ScriptGroupIconsOffset { get { return scriptgroupiconsoffset; } } internal int ScriptGroupOpenIconsOffset { get { return scriptgroupopeniconsoffset; } } public ImageList Icons { get { return icons; } } public ScriptIconsManager(ImageList icons) { this.icons = icons; int numicons = Enum.GetNames(typeof(ScriptType)).Length; scriptgroupopeniconsoffset = icons.Images.Count - numicons; scriptgroupiconsoffset = scriptgroupopeniconsoffset - numicons; scripttypeiconsoffset = scriptgroupiconsoffset - numicons; } public int GetResourceIcon(int datalocationtype) { return datalocationtype; } public int GetScriptIcon(ScriptType type) { int scripttype = (int)type + scripttypeiconsoffset; if(scripttype >= scriptgroupiconsoffset) scripttype = scripttypeiconsoffset; return scripttype; } public int GetScriptFolderIcon(ScriptType type, bool opened) { int scripttype = (int)type; if(scripttype >= scriptgroupiconsoffset - scripttypeiconsoffset) scripttype = scripttypeiconsoffset; if(opened) return scriptgroupopeniconsoffset + scripttype; return scriptgroupiconsoffset + scripttype; } } }