chrisgregan
11 years ago
4 changed files with 79 additions and 2 deletions
@ -0,0 +1,71 @@
|
||||
using UnityEditor; |
||||
using UnityEngine; |
||||
using System.Collections; |
||||
|
||||
namespace Fungus.Script |
||||
{ |
||||
|
||||
[CustomEditor (typeof(Character))] |
||||
public class CharacterEditor : Editor |
||||
{ |
||||
Material spriteMaterial; |
||||
|
||||
void OnEnable() |
||||
{ |
||||
Shader shader = Shader.Find("Sprites/Default"); |
||||
if (shader != null) |
||||
{ |
||||
spriteMaterial = new Material(shader); |
||||
} |
||||
} |
||||
|
||||
public override void OnInspectorGUI() |
||||
{ |
||||
Character t = target as Character; |
||||
|
||||
EditorGUI.BeginChangeCheck(); |
||||
|
||||
string characterName = EditorGUILayout.TextField(new GUIContent("Name Text", "Name of the character display in the dialog"), |
||||
t.characterName); |
||||
|
||||
Color characterColor = EditorGUILayout.ColorField(new GUIContent("Text Color", "Color of name text display in the dialog"), |
||||
t.characterColor); |
||||
|
||||
Sprite characterImage = EditorGUILayout.ObjectField(new GUIContent("Image", "Character image sprite to display in the dialog"), |
||||
t.characterImage, |
||||
typeof(Sprite), |
||||
true) as Sprite; |
||||
|
||||
Dialog.DialogSide dialogSide = (Dialog.DialogSide)EditorGUILayout.EnumPopup(new GUIContent("Image Side", "Which side to display the image in the dialog"), |
||||
t.dialogSide); |
||||
|
||||
EditorGUILayout.Separator(); |
||||
|
||||
if (characterImage != null && |
||||
spriteMaterial != null) |
||||
{ |
||||
float aspect = (float)characterImage.texture.width / (float)characterImage.texture.height; |
||||
|
||||
EditorGUILayout.BeginHorizontal(); |
||||
GUILayout.FlexibleSpace(); |
||||
Rect imagePreviewRect = GUILayoutUtility.GetAspectRect(aspect, GUILayout.Width(150), GUILayout.ExpandWidth(false)); |
||||
GUILayout.FlexibleSpace(); |
||||
EditorGUILayout.EndHorizontal(); |
||||
EditorGUI.DrawPreviewTexture(imagePreviewRect, |
||||
characterImage.texture, |
||||
spriteMaterial); |
||||
} |
||||
|
||||
if (EditorGUI.EndChangeCheck()) |
||||
{ |
||||
Undo.RecordObject(t, "Set Character"); |
||||
|
||||
t.characterName = characterName; |
||||
t.characterColor = characterColor; |
||||
t.characterImage = characterImage; |
||||
t.dialogSide = dialogSide; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2 |
||||
guid: 6ae00f6490546486da033e6785d09f54 |
||||
MonoImporter: |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
Binary file not shown.
Loading…
Reference in new issue