782 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			782 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | #if PLAYMAKER_1_8_OR_NEWER | |||
|  | 
 | |||
|  | using UnityEngine; | |||
|  | using UnityEditor; | |||
|  | using HutongGames.PlayMaker; | |||
|  | using HutongGames.PlayMaker.Actions; | |||
|  | using HutongGames.PlayMakerEditor; | |||
|  | using System.Text.RegularExpressions; | |||
|  | 
 | |||
|  | namespace ES3PlayMaker | |||
|  | { | |||
|  |     #region Base Actions | |||
|  | 
 | |||
|  |     public abstract class BaseEditor : CustomActionEditor | |||
|  |     { | |||
|  |         bool showErrorHandling = false; | |||
|  | 
 | |||
|  |         public abstract void DrawGUI(); | |||
|  | 
 | |||
|  |         public override bool OnGUI() | |||
|  |         { | |||
|  |             DrawGUI(); | |||
|  | 
 | |||
|  |             EditorGUILayout.Separator(); | |||
|  | 
 | |||
|  |             showErrorHandling = EditorGUILayout.Foldout(showErrorHandling, "Error Handling"); | |||
|  |             if (showErrorHandling) | |||
|  |             { | |||
|  |                 EditorGUI.indentLevel++; | |||
|  |                 EditField("errorEvent"); | |||
|  |                 EditField("errorMessage"); | |||
|  |                 EditorGUI.indentLevel--; | |||
|  |             } | |||
|  | 
 | |||
|  |             return GUI.changed; | |||
|  |         } | |||
|  | 
 | |||
|  |         // Displays the FsmVar field without the unnecessary Type field. | |||
|  |         protected void FsmVarField(string fieldName) | |||
|  |         { | |||
|  |             if (target == null || target.State == null) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             var fsmVar = (FsmVar)ES3Internal.ES3Reflection.GetField(target.GetType(), fieldName).GetValue(target); | |||
|  | 
 | |||
|  |             if (fsmVar == null) | |||
|  |             { | |||
|  |                 fsmVar = new FsmVar(); | |||
|  |                 ES3Internal.ES3Reflection.GetField(target.GetType(), fieldName).SetValue(target, fsmVar); | |||
|  |             } | |||
|  | 
 | |||
|  |             EditorGUILayout.BeginHorizontal(); | |||
|  |             var label = Regex.Replace(fieldName, @"\p{Lu}", m => " " + m.Value.ToLowerInvariant()); | |||
|  |             EditorGUILayout.PrefixLabel(char.ToUpperInvariant(label[0]) + label.Substring(1)); | |||
|  | 
 | |||
|  |             var localVariables = target.Fsm.Variables.GetAllNamedVariablesSorted(); | |||
|  |             var globalVariables = FsmVariables.GlobalVariables.GetAllNamedVariablesSorted(); | |||
|  | 
 | |||
|  |             var variableNames = new string[localVariables.Length + globalVariables.Length]; | |||
|  |             int selected = -1; | |||
|  | 
 | |||
|  |             for(int i=0; i<variableNames.Length; i++) | |||
|  |             { | |||
|  |                 var variable = i >= localVariables.Length ? globalVariables[i - localVariables.Length] : localVariables[i]; | |||
|  |                 variableNames[i] = i >= localVariables.Length ? "Globals/"+variable.Name : variable.Name; | |||
|  |                 if (fsmVar.NamedVar == variable) | |||
|  |                     selected = i; | |||
|  |             } | |||
|  | 
 | |||
|  |             var newSelected = EditorGUILayout.Popup(selected, variableNames); | |||
|  | 
 | |||
|  | 
 | |||
|  |             EditorGUILayout.EndHorizontal(); | |||
|  | 
 | |||
|  |             if (newSelected == -1) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             if (selected != newSelected) | |||
|  |             { | |||
|  |                 if (newSelected >= localVariables.Length) | |||
|  |                     fsmVar.NamedVar = globalVariables[newSelected - localVariables.Length]; | |||
|  |                 else | |||
|  |                     fsmVar.NamedVar = localVariables[newSelected]; | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  | 	public abstract class SettingsEditor : BaseEditor | |||
|  | 	{ | |||
|  | 		public override bool OnGUI() | |||
|  | 		{ | |||
|  | 			base.OnGUI(); | |||
|  | 
 | |||
|  | 			var action = target as ES3PlayMaker.SettingsAction; | |||
|  | 			if(action == null) | |||
|  | 				return false; | |||
|  | 			action.overrideDefaultSettings.Value = EditorGUILayout.ToggleLeft("Override Default Settings", action.overrideDefaultSettings.Value); | |||
|  | 
 | |||
|  | 			if(action.overrideDefaultSettings.Value) | |||
|  | 			{ | |||
|  | 				EditorGUI.indentLevel++; | |||
|  | 
 | |||
|  |                 EditField("path"); | |||
|  |                 EditField("location"); | |||
|  | 				EditField("encryptionType"); | |||
|  | 				EditField("encryptionPassword"); | |||
|  |                 EditField("compressionType"); | |||
|  | 				EditField("directory"); | |||
|  | 				EditField("format"); | |||
|  | 				EditField("bufferSize"); | |||
|  | 
 | |||
|  | 				EditorGUI.indentLevel--; | |||
|  | 				EditorGUILayout.Space(); | |||
|  | 			} | |||
|  | 			return GUI.changed; | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	public abstract class KeyValueSettingsEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override bool OnGUI() | |||
|  | 		{ | |||
|  | 			EditField("key"); | |||
|  | 			EditField("value"); | |||
|  | 
 | |||
|  | 			base.OnGUI(); | |||
|  | 
 | |||
|  | 			return GUI.changed; | |||
|  | 		} | |||
|  | 
 | |||
|  | 		public override void DrawGUI(){} | |||
|  | 	} | |||
|  | 
 | |||
|  |     public abstract class ES3FileActionEditor : BaseEditor | |||
|  |     { | |||
|  |         public override bool OnGUI() | |||
|  |         { | |||
|  |             EditField("fsmES3File"); | |||
|  | 
 | |||
|  |             base.OnGUI(); | |||
|  | 
 | |||
|  |             var action = target as ES3PlayMaker.ES3FileAction; | |||
|  |             if (action == null) | |||
|  |                 return false; | |||
|  | 
 | |||
|  |             return GUI.changed; | |||
|  |         } | |||
|  |     } | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Save Actions | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.Save))] | |||
|  | 	public class SaveEditor : KeyValueSettingsEditor{} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.SaveAll))] | |||
|  |     public class SaveAllEditor : SettingsEditor | |||
|  |     { | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("key"); | |||
|  |             EditField("saveFsmVariables"); | |||
|  |             EditField("saveGlobalVariables"); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.SaveRaw))] | |||
|  | 	public class SaveRawEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("str"); | |||
|  | 			EditField("useBase64Encoding"); | |||
|  | 			EditField("appendNewline"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.AppendRaw))] | |||
|  | 	public class AppendRawEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("str"); | |||
|  | 			EditField("useBase64Encoding"); | |||
|  | 			EditField("appendNewline"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.SaveImage))] | |||
|  | 	public class SaveImageEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("imagePath"); | |||
|  | 			EditField("texture2D"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Load Actions | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.Load))] | |||
|  | 	public class LoadEditor : KeyValueSettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditorGUILayout.Space(); | |||
|  | 			EditField("defaultValue"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.LoadInto))] | |||
|  | 	public class LoadIntoEditor : KeyValueSettingsEditor{} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.LoadAll))] | |||
|  |     public class LoadAllEditor : SettingsEditor | |||
|  |     { | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("key"); | |||
|  |             EditField("loadFsmVariables"); | |||
|  |             EditField("loadGlobalVariables"); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.LoadAudio))] | |||
|  | 	public class LoadAudioEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("audioFilePath"); | |||
|  | 			EditField("audioClip"); | |||
|  | #if UNITY_2018_3_OR_NEWER | |||
|  |             EditField("audioType"); | |||
|  | #endif | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.LoadImage))] | |||
|  | 	public class LoadImageEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("imagePath"); | |||
|  | 			EditField("texture2D"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.LoadRawString))] | |||
|  | 	public class LoadRawStringEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("str"); | |||
|  | 			EditField("useBase64Encoding"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Exists Actions | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.KeyExists))] | |||
|  | 	public class KeyExistsEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("key"); | |||
|  | 			EditField("exists"); | |||
|  | 			EditorGUILayout.Separator(); | |||
|  | 			EditField("existsEvent"); | |||
|  | 			EditField("doesNotExistEvent"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.FileExists))] | |||
|  | 	public class FileExistsEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("filePath"); | |||
|  | 			EditField("exists"); | |||
|  | 			EditorGUILayout.Separator(); | |||
|  | 			EditField("existsEvent"); | |||
|  | 			EditField("doesNotExistEvent"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.DirectoryExists))] | |||
|  | 	public class DirectoryExistsEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("directoryPath"); | |||
|  | 			EditField("exists"); | |||
|  | 			EditorGUILayout.Separator(); | |||
|  | 			EditField("existsEvent"); | |||
|  | 			EditField("doesNotExistEvent"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Delete Actions | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.DeleteKey))] | |||
|  | 	public class DeleteKeyEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("key"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.DeleteFile))] | |||
|  | 	public class DeleteFileEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("filePath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.DeleteDirectory))] | |||
|  | 	public class DeleteDirectoryEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("directoryPath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Backup Actions | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.CreateBackup))] | |||
|  | 	public class CreateBackupEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("filePath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.RestoreBackup))] | |||
|  | 	public class RestoreBackupEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("filePath"); | |||
|  | 			EditField("backupWasRestored"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region Key, File and Directory methods | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.RenameFile))] | |||
|  | 	public class RenameFileEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("oldFilePath"); | |||
|  | 			EditField("newFilePath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.CopyFile))] | |||
|  | 	public class CopyFileEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("oldFilePath"); | |||
|  | 			EditField("newFilePath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 	 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.CopyDirectory))] | |||
|  | 	public class CopyDirectoryEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("oldDirectoryPath"); | |||
|  | 			EditField("newDirectoryPath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.GetKeys))] | |||
|  | 	public class GetKeysEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("filePath"); | |||
|  | 			EditField("keys"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.GetKeyCount))] | |||
|  |     public class GetKeyCountEditor : SettingsEditor | |||
|  |     { | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("filePath"); | |||
|  |             EditField("keyCount"); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.GetFiles))] | |||
|  | 	public class GetFilesEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("directoryPath"); | |||
|  | 			EditField("files"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.GetDirectories))] | |||
|  | 	public class GetDirectoriesEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("directoryPath"); | |||
|  | 			EditField("directories"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region ES3File Actions | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileCreate))] | |||
|  | 	public class ES3FileCreateEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3File"); | |||
|  | 			EditField("filePath"); | |||
|  | 			EditField("syncWithFile"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileSync))] | |||
|  | 	public class ES3FileSyncEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3File"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileSave))] | |||
|  | 	public class ES3FileSaveEditor : SaveEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3File"); | |||
|  | 			base.DrawGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileLoad))] | |||
|  | 	public class ES3FileLoadEditor : LoadEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3File"); | |||
|  | 			base.DrawGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileLoadInto))] | |||
|  | 	public class ES3FileLoadIntoEditor : LoadIntoEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			base.DrawGUI(); | |||
|  | 			EditField("fsmES3File"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileDeleteKey))] | |||
|  | 	public class ES3FileDeleteKeyEditor : DeleteKeyEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			base.DrawGUI(); | |||
|  | 			EditField("fsmES3File"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileKeyExists))] | |||
|  | 	public class ES3FileKeyExistsEditor : KeyExistsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3File"); | |||
|  | 			base.DrawGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileGetKeys))] | |||
|  | 	public class ES3FileGetKeysEditor : ES3FileActionEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("keys"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileClear))] | |||
|  | 	public class ES3FileClearEditor : BaseEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3File"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3FileSize))] | |||
|  | 	public class ES3FileSizeEditor : BaseEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("size"); | |||
|  | 			EditField("fsmES3File"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region ES3Cloud Actions | |||
|  | #if !DISABLE_WEB | |||
|  | 	 | |||
|  | 	public abstract class ES3CloudEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		protected abstract void DrawChildGUI(); | |||
|  | 
 | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("url"); | |||
|  | 			EditField("apiKey"); | |||
|  | 			EditorGUILayout.Space(); | |||
|  | 			DrawChildGUI(); | |||
|  | 			EditorGUILayout.Space(); | |||
|  | 			EditField("errorCode"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	public abstract class ES3CloudUserEditor : ES3CloudEditor | |||
|  | 	{ | |||
|  | 		public bool showUser = false; | |||
|  | 
 | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			if((showUser = EditorGUILayout.Foldout(showUser, "User (optional)"))) | |||
|  | 			{ | |||
|  | 				EditorGUI.indentLevel++; | |||
|  | 				EditField("user"); | |||
|  | 				EditField("password"); | |||
|  | 				EditorGUI.indentLevel--; | |||
|  | 			} | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3CloudSync))] | |||
|  | 	public class ES3CloudSyncEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("path"); | |||
|  | 			base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3CloudDownloadFile))] | |||
|  | 	public class ES3CloudDownloadFileEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("path"); | |||
|  | 			base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudDownloadES3File))] | |||
|  |     public class ES3CloudDownloadES3FileEditor : BaseEditor | |||
|  |     { | |||
|  |         public bool showUser = false; | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("fsmES3File"); | |||
|  |             EditField("url"); | |||
|  |             EditField("apiKey"); | |||
|  |             EditField("errorCode"); | |||
|  |             if ((showUser = EditorGUILayout.Foldout(showUser, "User (optional)"))) | |||
|  |             { | |||
|  |                 EditorGUI.indentLevel++; | |||
|  |                 EditField("user"); | |||
|  |                 EditField("password"); | |||
|  |                 EditorGUI.indentLevel--; | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudUploadFile))] | |||
|  | 	public class ES3CloudUploadFileEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("path"); | |||
|  | 			base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudUploadES3File))] | |||
|  |     public class ES3CloudUploadES3FileEditor : BaseEditor | |||
|  |     { | |||
|  |         public bool showUser = false; | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("fsmES3File"); | |||
|  |             EditField("url"); | |||
|  |             EditField("apiKey"); | |||
|  |             EditField("errorCode"); | |||
|  |             if((showUser = EditorGUILayout.Foldout(showUser, "User (optional)"))) | |||
|  | 			{ | |||
|  | 				EditorGUI.indentLevel++; | |||
|  | 				EditField("user"); | |||
|  | 				EditField("password"); | |||
|  | 				EditorGUI.indentLevel--; | |||
|  | 			} | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudDeleteFile))] | |||
|  | 	public class ES3CloudDeleteFileEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("path"); | |||
|  | 			base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3CloudRenameFile))] | |||
|  | 	public class ES3CloudRenameFileEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("path"); | |||
|  | 			EditField("newFilename"); | |||
|  | 			base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudDownloadFilenames))] | |||
|  | 	public class ES3CloudDownloadFilenamesEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("filenames"); | |||
|  |             EditField("searchPattern"); | |||
|  |             base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudSearchFilenames))] | |||
|  |     public class ES3CloudSearchFilenamesEditor : ES3CloudUserEditor | |||
|  |     { | |||
|  |         protected override void DrawChildGUI() | |||
|  |         { | |||
|  |             EditField("filenames"); | |||
|  |             EditField("searchPattern"); | |||
|  |             base.DrawChildGUI(); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3CloudDownloadTimestamp))] | |||
|  | 	public class ES3CloudDownloadTimestampEditor : ES3CloudUserEditor | |||
|  | 	{ | |||
|  | 		protected override void DrawChildGUI() | |||
|  | 		{ | |||
|  | 			EditField("timestamp"); | |||
|  | 			base.DrawChildGUI(); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | #endif | |||
|  | 
 | |||
|  | #endregion | |||
|  | 
 | |||
|  | #region ES3SpreadsheetActions | |||
|  | 
 | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3SpreadsheetCreate))] | |||
|  | 	public class ES3SpreadsheetCreateEditor : BaseEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3Spreadsheet"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3SpreadsheetSetCell))] | |||
|  | 	public class ES3SpreadsheetSetCellEditor : BaseEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3Spreadsheet"); | |||
|  | 			EditField("col"); | |||
|  | 			EditField("row"); | |||
|  |             EditField("value"); | |||
|  |         } | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3SpreadsheetGetCell))] | |||
|  | 	public class ES3SpreadsheetGetCellEditor : BaseEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  | 			EditField("fsmES3Spreadsheet"); | |||
|  | 			EditField("col"); | |||
|  | 			EditField("row"); | |||
|  | 			EditField("value"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  | 	[CustomActionEditor(typeof(ES3PlayMaker.ES3SpreadsheetLoad))] | |||
|  | 	public class ES3SpreadsheetLoadEditor : SettingsEditor | |||
|  | 	{ | |||
|  | 		public override void DrawGUI() | |||
|  | 		{ | |||
|  |             EditField("fsmES3Spreadsheet"); | |||
|  |             EditField("filePath"); | |||
|  | 		} | |||
|  | 	} | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.ES3SpreadsheetSave))] | |||
|  |     public class ES3SpreadsheetSaveEditor : SettingsEditor | |||
|  |     { | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("fsmES3Spreadsheet"); | |||
|  |             EditField("filePath"); | |||
|  |             EditField("append"); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     #endregion | |||
|  | 
 | |||
|  |     #region Caching | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.CacheFile))] | |||
|  |     public class CacheFileEditor : SettingsEditor | |||
|  |     { | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("filePath"); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     [CustomActionEditor(typeof(ES3PlayMaker.StoreCachedFile))] | |||
|  |     public class StoreCachedFileEditor : SettingsEditor | |||
|  |     { | |||
|  |         public override void DrawGUI() | |||
|  |         { | |||
|  |             EditField("filePath"); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  |     #endregion | |||
|  | } | |||
|  | #endif |