Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート...

30

Transcript of Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート...

Page 1: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 2: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 3: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 4: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 5: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 6: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 7: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 8: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

public class Hierarchy : EditorWindow { public Dictionary<int, bool> foldouts = new Dictionary<int, bool>();

void OnGUI() { var id = 1;

foldouts[id] = EditorGUILayout.Foldout(foldouts[id], "Parent");

if (foldouts[id]) { EditorGUI.indentLevel = 2; EditorGUILayout.LabelField("Child"); } } }

Page 9: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

public class Hierarchy : EditorWindow { public Dictionary<int, bool> foldouts = new Dictionary<int, bool>();

void OnGUI() { var id = 1;

foldouts[id] = EditorGUILayout.Foldout(foldouts[id], "Parent");

if (foldouts[id]) { EditorGUI.indentLevel = 2; EditorGUILayout.LabelField("Child"); } } }

Page 10: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

public class Hierarchy : EditorWindow { public Dictionary<int, bool> foldouts = new Dictionary<int, bool>();

void OnGUI() { var id = 1;

foldouts[id] = EditorGUILayout.Foldout(foldouts[id], "Parent");

if (foldouts[id]) { EditorGUI.indentLevel = 2; EditorGUILayout.LabelField("Child"); } } }

Page 11: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

protected override TreeViewItem BuildRoot () { var root = new TreeViewItem {id = 0, depth = -1, displayName = "Root"}; var allItems = new List<TreeViewItem> { new TreeViewItem {id = 1, depth = 0, displayName = "Animals"}, new TreeViewItem {id = 2, depth = 1, displayName = "Mammals"}, new TreeViewItem {id = 3, depth = 2, displayName = "Tiger"}, new TreeViewItem {id = 7, depth = 1, displayName = "Reptiles"}, new TreeViewItem {id = 8, depth = 2, displayName = "Crocodile"}, new TreeViewItem {id = 9, depth = 2, displayName = "Lizard"}, }; return root; }

Page 12: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 13: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 14: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 15: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

😂

Page 16: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 17: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 18: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 19: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

[MenuItem(“ ")] static void Open() { // BuildPipeline.BuildPlayer(options); }

Page 20: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

class MyCustomBuildProcessor : IPreprocessBuild { public void OnPreprocessBuild(BuildTarget target, string path) { Debug.Log(“ ”); } }

Page 21: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 22: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

[ScriptedImporter(1, "cube")] public class CubeImporter : ScriptedImporter { public float m_Scale = 1;

public override void OnImportAsset(AssetImportContext ctx) { var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); var text = File.ReadAllText(ctx.assetPath);

var position = JsonUtility.FromJson<Vector3>(text);

cube.transform.position = position; } }

Page 23: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

[CustomEditor(typeof(CubeImporter))] public class CubeImporterEditor : ScriptedImporterEditor {

}

Page 24: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

[CustomEditor(typeof(Object))] public class ObjectEditor : Editor { public ObjectEditor () { if (extension == ".zip") { editor = Editor.CreateEditor (Selection.activeObject, typeof(ZipEditor)); } else if (string.IsNullOrEmpty (extension)) { editor = Editor.CreateEditor (Selection.activeObject, typeof(FolderEditor)); } else { editor = null; } } }

Page 26: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート

public class E03_StyleSheet : EditorWindow {

public void OnEnable() { var root = this.GetRootVisualContainer(); root.AddStyleSheetPath("styles");

// Here we just take all layout properties and other to extract them in USS! var boxes = new VisualContainer() { name = "boxesContainer" }; boxes.AddToClassList("horizontalContainer"); root.Add(boxes);

}

Page 27: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 28: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 29: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Page 30: Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート