public static PlayerEffectData[] EditPlayerEffectDataArray(GameObject gameObject, PlayerEffectData[] PlayerEffectDataArray) { if (GUILayout.Button("Add Effect data")) { PlayerEffectData EffectData = new PlayerEffectData(); PlayerEffectDataArray = Util.AddToArray <PlayerEffectData> (EffectData, PlayerEffectDataArray); } for (int i = 0; i < PlayerEffectDataArray.Length; i++) { PlayerEffectData EffectData = PlayerEffectDataArray [i]; EditorGUILayout.LabelField("------------------------ " + EffectData.Name); EffectData.Name = EditorGUILayout.TextField(new GUIContent("Name", ""), EffectData.Name); EffectData.DamageForm = (DamageForm)EditorGUILayout.EnumPopup("Damage form:", EffectData.DamageForm); EffectData.UseGlobalEffect = EditorGUILayout.Toggle(new GUIContent("Use global effect?", "是否使用全局Effect?"), EffectData.UseGlobalEffect); if (EffectData.PlayParticle = EditorGUILayout.BeginToggleGroup(new GUIContent("Play local particle object?", ""), EffectData.PlayParticle)) { EffectData.particlesystem = (ParticleSystem)EditorCommon.EditPopupOfTypeInChildren("Assign a particle object to play:", EffectData.particlesystem, gameObject, typeof(ParticleSystem)); } EditorGUILayout.EndToggleGroup(); if (EffectData.UseGlobalEffect) { EffectData.GlobalType = (GlobalEffectType)EditorGUILayout.EnumPopup(new GUIContent("Global effect type", "是全局Effect类型"), EffectData.GlobalType); } else { EffectData.DestoryTimeOut = EditorGUILayout.FloatField(new GUIContent("LifeTime:", ""), EffectData.DestoryTimeOut); EffectData.EffectObject = (GameObject)EditorGUILayout.ObjectField(new GUIContent("Effect object", ""), EffectData.EffectObject, typeof(GameObject)); EffectData.instantiationData = EditorCommon.EditInstantiationData(" ----------- Edit instantiation data ----------- ", EffectData.instantiationData); //Delete this effect data if (GUILayout.Button("Delete EffectData:" + EffectData.Name)) { PlayerEffectDataArray = Util.CloneExcept <PlayerEffectData> (PlayerEffectDataArray, EffectData); } } EditorGUILayout.Space(); } return(PlayerEffectDataArray); }