private void MeshSlotFilenameUpdated(object sender, ResourceBuilder.StringEventArgs e)
        {
            MeshSlotParameter updatedParam = MeshSlotParameter.IB;

            if (sender == ibResource)
            {
                updatedParam = MeshSlotParameter.IB;
                ModPackGui.CacheString(e.value, ref ModPackGui.ibList);
            }
            else if (sender == vbResource)
            {
                updatedParam = MeshSlotParameter.VB;
                ModPackGui.CacheString(e.value, ref ModPackGui.vbList);
            }
            else if (sender == sibResource)
            {
                updatedParam = MeshSlotParameter.SIB;
                ModPackGui.CacheString(e.value, ref ModPackGui.ibList);
            }
            else if (sender == svbResource)
            {
                updatedParam = MeshSlotParameter.SVB;
                ModPackGui.CacheString(e.value, ref ModPackGui.vbList);
            }
            else if (sender == ps0Resource)
            {
                updatedParam = MeshSlotParameter.PS0;
                ModPackGui.CacheString(e.value, ref ModPackGui.textureList);
            }
            else if (sender == ps1Resource)
            {
                updatedParam = MeshSlotParameter.PS1;
                ModPackGui.CacheString(e.value, ref ModPackGui.textureList);
            }
            else if (sender == ps2Resource)
            {
                updatedParam = MeshSlotParameter.PS2;
                ModPackGui.CacheString(e.value, ref ModPackGui.textureList);
            }
            else if (sender == pscb2Resource)
            {
                updatedParam = MeshSlotParameter.PSCB2;
                ModPackGui.CacheString(e.value, ref ModPackGui.constantBufferList);
            }
            if (sender is ResourceBuilder)
            {
                (sender as ResourceBuilder).SetValue(e.value);
            }

            MeshSlotUpdated?.Invoke(this, new MeshSlotParameterEventArgs(updatedParam, e.value));
        }
 public MeshSlotParameterEventArgs(MeshSlotParameter param, String value)
 {
     this.meshSlotParam = param;
     this.value         = value;
 }