public void GenerateScript(string directory, string layerName) { LayerName = layerName; ModuleName = directory.Substring(directory.LastIndexOf(Path.DirectorySeparatorChar) + 1); var builder = new StringBuilder(); AddHeader(builder); AddFooter(builder); var directoryPath = ""; switch (GetKindName()) { case "{0}Locator": case "I{0}Manager": case "{0}ManagerMock": directoryPath = Path.Combine(directory, "Interface"); break; case "{0}Manager": case "{0}ManagerTest": directoryPath = Path.Combine(directory, "Impl"); break; } var fileName = string.Format(GetKindName(), ModuleName) + ".cs"; var filePath = Path.Combine(directoryPath, fileName); FileIoLocater.Write(filePath, builder.ToString()); }
public static void GenerateMvpScriptsForPrefab() { FileIoLocater.Set(new FileIoManager()); var prefab = Selection.gameObjects[0]; var gameObjectFieldInfo = new GameObjectFieldInfo(prefab, AssetDatabase.GetAssetPath(Selection.activeObject)); new ModuleViewScriptBuilder().GenerateScript(gameObjectFieldInfo); new ModulePresenterScriptBuilder().GenerateScript(gameObjectFieldInfo); new ModuleModelScriptBuilder().GenerateScript(gameObjectFieldInfo); new ModuleModelTestScriptBuilder().GenerateScript(gameObjectFieldInfo); AssetDatabase.Refresh(); }
private static void GenerateSystemOrInfraScript(string layerName) { FileIoLocater.Set(new FileIoManager()); var directory = AssetDatabase.GetAssetPath(Selection.activeObject); Directory.CreateDirectory(directory + "/Impl"); Directory.CreateDirectory(directory + "/Interface"); new SystemLocatorScriptBuilder().GenerateScript(directory, layerName); new SystemIManagerScriptBuilder().GenerateScript(directory, layerName); new SystemManagerScriptBuilder().GenerateScript(directory, layerName); new SystemManagerTestScriptBuilder().GenerateScript(directory, layerName); AssetDatabase.Refresh(); }
public void GenerateScript(IGameObjectFieldInfo gameObjectFieldInfo) { ModuleName = gameObjectFieldInfo.GetModuleName(); var builder = new StringBuilder(); AddHeader(builder); // add fields foreach (var gameObjectName in gameObjectFieldInfo.GetTextGameObjects()) { AddField(builder, gameObjectName, "Text"); } if (gameObjectFieldInfo.GetTextGameObjects().Count > 0) { builder.AppendLine(); } foreach (var gameObjectName in gameObjectFieldInfo.GetImageGameObjects()) { AddField(builder, gameObjectName, "Image"); } if (gameObjectFieldInfo.GetImageGameObjects().Count > 0) { builder.AppendLine(); } foreach (var gameObjectName in gameObjectFieldInfo.GetButtonGameObjects()) { AddField(builder, gameObjectName, "Button"); } if (gameObjectFieldInfo.GetToggleGameObjects().Count > 0) { builder.AppendLine(); } foreach (var gameObjectName in gameObjectFieldInfo.GetToggleGameObjects()) { AddField(builder, gameObjectName, "Toggle[]"); } if (gameObjectFieldInfo.GetButtonGameObjects().Count > 0) { builder.AppendLine(); } AddAwake(builder, gameObjectFieldInfo.GetButtonGameObjects(), gameObjectFieldInfo.GetToggleGameObjects()); // add methods foreach (var gameObjectName in gameObjectFieldInfo.GetButtonGameObjects()) { AddOnButtonClickMethod(builder, gameObjectName); builder.AppendLine(); } foreach (var gameObjectName in gameObjectFieldInfo.GetToggleGameObjects()) { AddOnToggleChangeMethod(builder, gameObjectName); builder.AppendLine(); } AddFotter(builder); var filePath = gameObjectFieldInfo.GetFilePath(GetKindName()); FileIoLocater.Write(filePath, builder.ToString()); }
public void SetUp() { _fileIoManager = Substitute.For <IFileIoManager>(); FileIoLocater.Set(_fileIoManager); _gameObjectFieldInfo = new GameObjectFieldInfoFake(); }