public override void OnInspectorGUI()
        {
            if (_target.GetComponent <Char>() == null)
            {
                EditorGUILayout.HelpBox("This component must be placed alongside either the NPC or Player component.", MessageType.Warning);
            }

            _target.skinnedMeshRenderer = (SkinnedMeshRenderer)EditorGUILayout.ObjectField("Skinned Mesh Renderer:", _target.skinnedMeshRenderer, typeof(SkinnedMeshRenderer), true);
            _target.materialIndex       = EditorGUILayout.IntField("Material to affect (index):", _target.materialIndex);
            _target.propertyName        = EditorGUILayout.TextField("Texture property name:", _target.propertyName);

            _target.LimitTextureArray();

            for (int i = 0; i < _target.textures.Count; i++)
            {
                _target.textures[i] = (Texture2D)EditorGUILayout.ObjectField("Texture for phoneme #" + i.ToString() + ":", _target.textures[i], typeof(Texture2D), false);
            }

            UnityVersionHandler.CustomSetDirty(_target);
        }
        public override void OnInspectorGUI()
        {
            if (_target.GetComponent <Char>() == null)
            {
                EditorGUILayout.HelpBox("This component must be placed alongside either the NPC or Player component.", MessageType.Warning);
            }

            _target.skinnedMeshRenderer = (SkinnedMeshRenderer)CustomGUILayout.ObjectField <SkinnedMeshRenderer> ("Skinned Mesh Renderer:", _target.skinnedMeshRenderer, true, "", "The SkinnedMeshRenderer to affect");
            _target.materialIndex       = CustomGUILayout.IntField("Material to affect (index):", _target.materialIndex, "", "The index of the material to affect");
            _target.propertyName        = CustomGUILayout.TextField("Texture property name:", _target.propertyName, "", "The material's property name that will be replaced");

            _target.LimitTextureArray();

            for (int i = 0; i < _target.textures.Count; i++)
            {
                _target.textures[i] = (Texture2D)CustomGUILayout.ObjectField <Texture2D> ("Texture for phoneme #" + i.ToString() + ":", _target.textures[i], false, "", "The Texture that corresponds to the phoneme defined in the Phonemes Editor");
            }

            UnityVersionHandler.CustomSetDirty(_target);
        }