Unity Editor Scripting 2
来源:互联网 发布:拼音软件下载排行 编辑:程序博客网 时间:2024/06/06 01:53
1 CustomEditor 的例子
using UnityEngine;using System.Collections;public class LevelScript : MonoBehaviour { public int experience; public int Level { get { return experience / 750; } }}
using UnityEngine;using System.Collections;using UnityEditor;[CustomEditor(typeof(LevelScript))]public class LevelScriptEditor : Editor { public override void OnInspectorGUI() { LevelScript myTarget = (LevelScript)target; myTarget.experience = EditorGUILayout.IntField("Experience", myTarget.experience); EditorGUILayout.LabelField("Level", myTarget.Level.ToString()); }}
2 drag picture to folder
using UnityEngine;using UnityEditor;class MakeUIImage : AssetPostprocessor { void OnPreprocessTexture () { // Automatically convert any texture file with "GUIImages" in its file name into an uncompressed unchanged GUI Image. if (assetPath.Contains("UI_Images") || assetPath.Contains("SpriteFonts") || assetPath.Contains("SpriteAtlases")) { Debug.Log ("Importing new GUI Image!"); TextureImporter myTextureImporter = (TextureImporter)assetImporter; myTextureImporter.textureType = TextureImporterType.Advanced; myTextureImporter.textureFormat = TextureImporterFormat.ARGB32; myTextureImporter.convertToNormalmap = false; myTextureImporter.maxTextureSize = 2048; myTextureImporter.grayscaleToAlpha = false; myTextureImporter.generateCubemap = TextureImporterGenerateCubemap.None; myTextureImporter.npotScale = TextureImporterNPOTScale.None; myTextureImporter.isReadable = true; myTextureImporter.mipmapEnabled = false;// myTextureImporter.borderMipmap = false;// myTextureImporter.correctGamma = false; myTextureImporter.mipmapFilter = TextureImporterMipFilter.BoxFilter; myTextureImporter.fadeout = false;// myTextureImporter.mipmapFadeDistanceStart;// myTextureImporter.mipmapFadeDistanceEnd; myTextureImporter.convertToNormalmap = false;// myTextureImporter.normalmap;// myTextureImporter.normalmapFilter;// myTextureImporter.heightmapScale; myTextureImporter.lightmap = false; myTextureImporter.ClearPlatformTextureSettings("Web"); myTextureImporter.ClearPlatformTextureSettings("Standalone"); myTextureImporter.ClearPlatformTextureSettings("iPhone"); } }}
3 scriptable wizard
public class SelectAllOfTag : ScriptableWizard
4 CustomPropertyDrawer
using UnityEngine;using UnityEditor;[CustomPropertyDrawer (typeof (ScaledCurve))]public class ScaledCurveDrawer : PropertyDrawer { const int curveWidth = 50; const float min = 0; const float max = 1; public override void OnGUI (Rect pos, SerializedProperty prop, GUIContent label) { SerializedProperty scale = prop.FindPropertyRelative ("scale"); SerializedProperty curve = prop.FindPropertyRelative ("curve"); // Draw scale EditorGUI.Slider ( new Rect (pos.x, pos.y, pos.width - curveWidth, pos.height), scale, min, max, label); // Draw curve int indent = EditorGUI.indentLevel; EditorGUI.indentLevel = 0; EditorGUI.PropertyField ( new Rect (pos.width - curveWidth, pos.y, curveWidth, pos.height), curve, GUIContent.none); EditorGUI.indentLevel = indent; }}
0 0
- Unity Editor Scripting 2
- Unity Editor Scripting
- Unity Animation Scripting
- 【Unity】Unity Editor Tips
- Learn C# scripting in Unity
- Unity Scripting Tutorials 要点记录
- [初学Unity]Intermediate gameplay scripting
- 【Unity 插件】 Shader Editor
- Unity学习 - Editor扩张
- Unity Editor编程杂记
- Unity Editor扩展
- Unity GUID替换Editor
- Unity Editor 常用类
- Unity Editor Window Zooming
- Unity Editor编译顺序
- Unity Editor编辑器(MenuItem)
- Unity Editor(二)C#特性与Editor
- [Editor]Unity Editor类常用方法
- Tensorflow之nn 简单神经网络学习
- 硬币求和
- Google Dapper-大规模分布式系统的基础跟踪设施
- java collection库
- 15 个 Android 通用流行框架大全
- Unity Editor Scripting 2
- JavaEE Web服务端必备的核心基础(图)
- java concurrent库
- 将数据存储到文件中
- 苹果手机制作铃声 (简易版)
- cmake3.6编译opencv3.1时出现变量设置错误
- ubuntu常用指令总结
- 消息队列两种模型
- startActivityForResult和launchMode的兼容性