1 using System;
2 using UnityEngine;
3 using UnityEditor;
4 using UnityEngine.Serialization;
5 using Random = UnityEngine.Random;
6
7 [DisallowMultipleComponent]// 禁止同时给一个物体添加多个NewBehaviourScript脚本
8 [RequireComponent(typeof(Animator))]// 依赖Animator组件,在物体上绑定有NewBehaviourScript时,Animoter组件不可被移除
9 [AddComponentMenu("MyScripts/NewBehaviourScript")]// 从Unity菜单栏Component里添加给物体
10 [ExecuteInEditMode]// 可以在编辑器模式下运行
11 [SelectionBase]// 当一个GameObject含有使用了该属性的Component的时候,在SceneView中选择该GameObject,Hierarchy上面会自动选中该GameObject的Parent。
12 public class NewBehaviourScript : MonoBehaviour
13 {
14 public Animator animator;
15
16 [Range(1,100)]// 范围滑块1-100
17 public int num1;
18
19 [Multiline(5)]// 多行输入
20 public string Multiline;
21 [TextArea(3,10)]// 文本区域 最小3行 最大10行 超出10行会出现滚动条
22 public string textArea;
23
24 [ContextMenuItem("Random", "RandomNumber")]// 右键菜单 第一个参数为菜单选项,第二个参数为菜单选项对应的函数
25 [ContextMenuItem("Reset", "ResetNumber")]
26 public int number;
27 void RandomNumber()
28 {
29 number = Random.Range(0, 100);
30 }
31 void ResetNumber()
32 {
33 number = 0;
34 }
35
36 public Color color1;// 普通Color
37
38 [ColorUsage(false)]// 可以选择是否启用alpha和HDR
39 public Color color2;
40
41 [ColorUsage(true, true)]
42 public Color color3;
43
44 [Header("Player Settings")]// Header提示
45 public Player player;
46
47 [Serializable]// 序列化
48 public class Player
49 {
50 public string name;
51
52 [Range(1, 100)]
53 public int hp;
54 }
55 [Header("Game Settings")]
56 public Color Header;
57
58 [Space(48)]// 在字段上方空出相对应的空间
59 public string Space;
60
61 [Tooltip("你好 你好 你好")]// 鼠标停留提示
62 public long tooltip;
63
64 [HideInInspector]// 在Inspector面板隐藏
65 public string HideInInspector;
66
67 [SerializeField]// 序列化数据
68 [FormerlySerializedAs("hoge")]// 从以前的字段里继承数据防止数据丢失 参数为数据名称
69 string abcd;
70
71
72 [Range(0, 10)]
73 public int number2;
74 [ContextMenu("RandomNumber2")]// 在组件的设置(小齿轮)里添加点击选项
75 void RandomNumber2()
76 {
77 number2 = Random.Range(0, 100);
78 }
79 [ContextMenu("ResetNumber2")]
80 void ResetNumber2()
81 {
82 number2 = 0;
83 }
84
85 void Awake()
86 {
87 Debug.Log("This is Awake");
88 animator = GetComponent<Animator>();
89 }
90
91 void Start()
92 {
93 Debug.Log("This is Start");
94 }
95
96 void Update()
97 {
98 Debug.Log("This is Update");
99 }
100 }