public AlloyTexCoordDrawer(AlloyInspectorBase editor, MaterialProperty property) : base(editor, property) { m_shaderVarName = Property.name.Replace("_ST", ""); m_tabGroup = AlloyTabGroup.GetTabGroup(); m_tabOpen.value = m_tabGroup.IsOpen(SaveName); AlloyTextureFieldDrawer.CacheTextureProps(editor, m_shaderVarName, out m_scrollProp, out m_spinProp, out m_uvProp); }
protected override AlloyFieldDrawer GenerateDrawer(AlloyInspectorBase editor) { var ret = new AlloyTextureFieldDrawer(editor, MaterialProperty); foreach (var token in Arguments) { var argName = token.ArgumentName; var argToken = token.ArgumentToken; switch (argName) { case "Visualize": { var container = argToken as AlloyCollectionToken; if (container != null) { ret.DisplayModes = container.SubTokens.Select(t => (AlloyTextureFieldDrawer.TextureVisualizeMode)Enum.Parse(typeof(AlloyTextureFieldDrawer.TextureVisualizeMode), t.Token)).ToArray(); } } break; case "Parent": { ret.ParentTexture = argToken.Token; } break; case "Controls": var valueToken = argToken as AlloyValueToken; if (valueToken != null) { ret.Controls = valueToken.BoolValue; } break; // case "Keyword": // ret.Keyword = argToken.Token; // break; } } return(ret); }
protected override AlloyFieldDrawer GenerateDrawer(AlloyInspectorBase editor) { var ret = new AlloyTextureFieldDrawer(editor, MaterialProperty); foreach (var token in Arguments) { var argName = token.ArgumentName; var argToken = token.ArgumentToken; switch (argName) { case "Visualize": { var container = argToken as AlloyCollectionToken; if (container != null) { ret.DisplayModes = container.SubTokens.Select(t => (AlloyTextureFieldDrawer.TextureVisualizeMode)Enum.Parse(typeof(AlloyTextureFieldDrawer.TextureVisualizeMode), t.Token)).ToArray(); } } break; case "Parent": { ret.ParentTexture = argToken.Token; } break; case "Controls": var valueToken = argToken as AlloyValueToken; if (valueToken != null) { ret.Controls = valueToken.BoolValue; } break; // case "Keyword": // ret.Keyword = argToken.Token; // break; } } return ret; }
public override void Draw(AlloyFieldDrawerArgs args) { m_inst = args.MatInst; bool isOpen = m_tabGroup.Foldout(DisplayName, SaveName, GUILayout.Width(10.0f)); m_tabOpen.target = isOpen; if (m_tabOpen.value) { EditorGUILayout.BeginFadeGroup(m_tabOpen.faded); AlloyGUI.Vector2Field(Serialized, "Tiling", true); AlloyGUI.Vector2Field(Serialized, "Offset", false); AlloyTextureFieldDrawer.DrawTextureControls(m_scrollProp, m_spinProp, m_uvProp); EditorGUILayout.EndFadeGroup(); } if (m_tabOpen.isAnimating) { args.Editor.MatEditor.Repaint(); } }