public AutoSimplifyTransformation(MathIdentifier id, CreatePattern pattern, EstimatePlan plan, ManipulatePort simplify) { _id = id; _pattern = pattern; _simplify = simplify; _plan = plan; }
public AutoSimplifyTransformation(MathIdentifier id, CreatePattern pattern, EstimatePlan plan, ManipulatePort simplify) { _id = id; _pattern = pattern; _simplify = simplify; _plan = plan; }
public BasicTransformation(MathIdentifier id, MathIdentifier transformationTypeId, CreatePattern pattern, EstimatePlan plan, ManipulatePort transform) { _id = id; _transformationTypeId = transformationTypeId; _pattern = pattern; _transform = transform; _plan = plan; }
public async Task <IActionResult> Post(IFormFile file) { var userId = User.GetUserId(); if (userId == null) { return(BadRequest()); } var patternId = Guid.NewGuid(); var(pattern, _) = await Cluster.GetAsync($"pattern-{patternId.ToString()}", "pattern"); var content = await file.ReadAllBytes(); var command = new CreatePattern { FileName = file.FileName, Id = patternId.ToString(), Content = ByteString.CopyFrom(content), OwnerId = userId }; var @event = await pattern.RequestAsync <PatternCreated>(command, 10.Seconds()); var preview = new { @event.Id, @event.Pattern.Info.Title, @event.Pattern.Height, @event.Pattern.Width }; var resource = new Resource(preview) { Links = { new Link { Rel = "self", Href = Url.Action("Get", new{ patternId }) }, new Link { Rel = "thumbnail", Href = Url.Action("GetThumbnail", new{ patternId }) } } }; return(Created(patternId.ToString(), resource)); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.AppendLine("public class StandardTest"); source.AppendLine("{"); source.AppendLine(" private enum CreatePattern"); source.AppendLine(" {"); source.AppendLine(" First,"); source.AppendLine(" Second,"); source.AppendLine(" Third"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.DefValue: filePath = "DefValue.cs"; source.AppendLine("public class DefValueTest"); source.AppendLine("{"); source.AppendLine(" private enum CreatePattern"); source.AppendLine(" {"); source.AppendLine(" First=10,"); source.AppendLine(" Second,"); source.AppendLine(" Third=100"); source.AppendLine(" }"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.AppendLine("public class Standard"); source.AppendLine("{"); source.AppendLine(" public Standard()"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.StandardArgs: filePath = "StandardArgs.cs"; source.AppendLine("public class StandardArgs"); source.AppendLine("{"); source.AppendLine(" public StandardArgs(string str,int intger,float f,decimal d)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ClassArgs: filePath = "ClassArgs.cs"; source.AppendLine("public class ClassArgs"); source.AppendLine("{"); source.AppendLine(" public ClassArgs(Standard instance)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ListArgs: filePath = "ListArgs.cs"; source.AppendLine("public class ListArgs"); source.AppendLine("{"); source.AppendLine(" public ListArgs(List<string> list)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.CallSuperConstructor: filePath = "CallSuperConstructor.cs"; source.AppendLine("public class CallSuperConstructor : StandardArgs"); source.AppendLine("{"); source.AppendLine(" public CallSuperConstructor(string str1,int integer1,float f1,decimal d1,int integer2):base(str1,integer1,f1,d1)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.Multiple: filePath = "Multiple.cs"; source.AppendLine("public class Multiple"); source.AppendLine("{"); source.AppendLine(" public Multiple(string str)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine(" private Multiple(string str1,int integer)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.RefArgs: filePath = "RefArgs.cs"; source.AppendLine("public class RefArgs"); source.AppendLine("{"); source.AppendLine(" public RefArgs(ref int integer,in string str,out decimal output)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.DefaultValues: filePath = "DefaultValues.cs"; source.AppendLine("public class DefaultValues"); source.AppendLine("{"); source.AppendLine(" public DefaultValues(int integer=10,string str=\"ABC\")"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.Lambda: filePath = "Lambda.cs"; source.AppendLine("public class Lambda"); source.AppendLine("{"); source.AppendLine(" private int field;"); source.AppendLine(" public Lambda() => field = 10;"); source.AppendLine("}"); break; case CreatePattern.TempInnerClass: filePath = "TempInnerClass.cs"; source.AppendLine("public class TempInnerClass"); source.AppendLine("{"); source.AppendLine(" public class InnerClass"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.InnerClassArgs: filePath = "InnerClassArgs.cs"; source.AppendLine("public class InnnerClassArgs"); source.AppendLine("{"); source.AppendLine(" public ClassArgs(TempInnerClass.InnerClass instance = new TempInnerClass.InnerClass())"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }
public PatternViewModel(PatternUserControl patternUserControl) { patternsListBox = patternUserControl.Find <ListBox>("PatternsListBox"); patternTextBox = patternUserControl.Find <TextBox>("PatternData"); patternErrorsListBox = patternUserControl.Find <ListBox>("PatternErrors"); logger = patternUserControl.Find <TextBox>("Logger"); Dispatcher.UIThread.InvokeAsync(async() => { bool error = false; if (!string.IsNullOrEmpty(Settings.PatternsFileName)) { try { PatternsFileName = Settings.PatternsFileName; SelectedPattern = Patterns.FirstOrDefault(p => p.Key == Settings.SelectedPatternKey) ?? Patterns.FirstOrDefault(); } catch (Exception ex) { await MessageBox.ShowDialog(ex.Message); error = true; } } if (string.IsNullOrEmpty(Settings.PatternsFileName) || error) { Settings.PatternsFileName = Settings.DefaultPatternsFileName; SelectedPattern = Patterns.FirstOrDefault(); SavePatterns(); Settings.Save(); } }); patternsListBox.DoubleTapped += (object sender, Avalonia.Interactivity.RoutedEventArgs e) => { OpenPattern.Execute(sender); }; patternErrorsListBox.DoubleTapped += (object sender, Avalonia.Interactivity.RoutedEventArgs e) => { GuiHelpers.ProcessErrorOnDoubleClick(patternErrorsListBox, patternTextBox); }; patternLogger = new GuiLogger(PatternErrors) { LogPatternErrors = true }; patternLogger.LogEvent += PatternLogger_LogEvent; dslProcessor.Logger = patternLogger; patternTextBox.GetObservable(TextBox.CaretIndexProperty) .Subscribe(UpdatePatternCaretIndex); patternTextBox.GetObservable(TextBox.TextProperty) .Throttle(TimeSpan.FromMilliseconds(250)) .Subscribe(str => Value = str); OpenPatterns.Subscribe(async _ => { SavePatterns(); var openFileDialog = new OpenFileDialog { Title = "Select patterns database", }; var fileNames = await openFileDialog.ShowAsync(ServiceLocator.MainWindow); if (fileNames != null) { try { PatternsFileName = fileNames.First(); } catch (Exception ex) { await MessageBox.ShowDialog(ex.Message); Settings.PatternsFileName = Settings.DefaultPatternsFileName; Settings.Save(); SelectedPattern = Patterns.FirstOrDefault(); ServiceLocator.MainWindowViewModel.ActivateWindow(); } } }); CreatePattern.Subscribe(_ => { SavePatterns(); var newPattern = new PatternDto(); newPattern.Key = Guid.NewGuid().ToString(); newPattern.Name = "New Pattern"; Patterns.Add(newPattern); SelectedPattern = newPattern; SavePatterns(); }); RemovePattern.Subscribe(async _ => { if (SelectedPattern != null && await MessageBox.ShowDialog($"Do you want to remove {SelectedPattern}?", messageBoxType: MessageBoxType.YesNo)) { Patterns.Remove(SelectedPattern); SelectedPattern = Patterns.LastOrDefault(); SavePatterns(); } }); OpenPattern.Subscribe(_ => { if (patternsListBox.SelectedItem != null) { var patternDto = (PatternDto)patternsListBox.SelectedItem; SelectedPattern = patternDto; } }); SavePattern.Subscribe(_ => { SavePatterns(); }); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; var addMember = new List <string>(); var addSource = new StringBuilder(); switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("for(var index = 0;index < 10;index++)"); source.Add("{"); source.Add("}"); break; case CreatePattern.LocalField: filePath = "LocalField.cs"; source.Add("var index;"); source.Add("for(index = 0;index < 10;index++)"); source.Add("{"); source.Add("}"); break; case CreatePattern.MultiDeclarations: filePath = "MultiDeclarations.cs"; source.Add("for(int a=0,b=0;a<10;a++,b++)"); source.Add("{"); source.Add("}"); break; case CreatePattern.MultiIncrementors: filePath = "MultiIncrementors.cs"; source.Add("var b=1D;"); source.Add("for(int a=0;a<10;a++,b+=1D)"); source.Add("{"); source.Add("}"); break; case CreatePattern.UseMethods: filePath = "UseMethods.cs"; source.Add("for(var index = ini();condition(index);index+=incrementor())"); source.Add("{"); source.Add("}"); source.Add("int ini()=>0;"); source.Add("bool condition(int value)=> value < 10;"); source.Add("int incrementor()=>1;"); break; case CreatePattern.InstanceProperty: filePath = "InstanceProperty.cs"; addMember.Add("private List<int> Values{get;}= new List<int>();"); source.Add("Values.AddRange(new List<int>{0,1,2,3});"); source.Add("for(var index = 0;index < Values.Count;index++)"); source.Add("{"); source.Add("}"); break; case CreatePattern.InstanceMethod: filePath = "InstanceMethod.cs"; addMember.Add("private List<int> GetValues()"); addMember.Add("{"); addMember.Add(" return new List<int>{0,1,2,3};"); addMember.Add("{"); source.Add("for(var index = 0;index < GetValues().Count;index++)"); source.Add("{"); source.Add("}"); break; case CreatePattern.InnerClassMethod: filePath = "InnerClassMethod.cs"; addMember.Add("public class InnerClass"); addMember.Add("{"); addMember.Add(" public static List<int> GetValues()"); addMember.Add(" {"); addMember.Add(" return new List<int>{0,1,2,3};"); addMember.Add(" {"); addMember.Add("}"); source.Add("for(var index = 0;index < Standard.InnerClass.GetValues().Count;index++)"); source.Add("{"); source.Add("}"); break; } // ソースコード作成 var targetSource = new StringBuilder(); targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine(" }"); addMember.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine("}"); targetSource.AppendLine(addSource.ToString()); return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.ReturnVoid: filePath = "ReturnVoid.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public void TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnInt: filePath = "ReturnInt.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return 10;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnString: filePath = "ReturnString.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public string TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return \"ABC\";"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnInstance: filePath = "ReturnInstance.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public Test TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return new Test();"); source.AppendLine(" }"); source.AppendLine("}"); source.AppendLine("public class Test"); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.ReturnGenericInstance: filePath = "ReturnGenericInstance.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public List<Test> TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return new List<Test>();"); source.AppendLine(" }"); source.AppendLine("}"); source.AppendLine("public class Test"); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.ReturnLocalDeclaration: filePath = "ReturnLocalDeclaration.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public string TestMethod()"); source.AppendLine(" {"); source.AppendLine(" var result = \"ABC\";"); source.AppendLine(" return result;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnLocalFunction: filePath = "ReturnLocalFunction.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" int target()=>10;"); source.AppendLine(" return target();"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnMethod: filePath = "ReturnMethod.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return Target(1);"); source.AppendLine(" }"); source.AppendLine(""); source.AppendLine(" public int Target(int value)"); source.AppendLine(" {"); source.AppendLine(" return value;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnClassMethod: filePath = "ReturnClassMethod.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return Target(1);"); source.AppendLine(" }"); source.AppendLine(""); source.AppendLine(" public static int Target(int value)"); source.AppendLine(" {"); source.AppendLine(" return value;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnClassProperty: filePath = "ReturnClassProperty.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return Target;"); source.AppendLine(" }"); source.AppendLine(""); source.AppendLine(" public static int Target{get;} = 10:"); source.AppendLine("}"); break; case CreatePattern.ReturnInnerClassMethod: filePath = "ReturnInnerClassMethod.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return InnerClass.Target(1);"); source.AppendLine(" }"); source.AppendLine(""); source.AppendLine(" public class InnerClass"); source.AppendLine(" {"); source.AppendLine(" public static int Target(int value)"); source.AppendLine(" {"); source.AppendLine(" return value;"); source.AppendLine(" }"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnExpression: filePath = "ReturnExpression.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return 1+2*3;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnExpressionChangedPriority: filePath = "ReturnExpressionChangedPriority.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return (1+2)*3;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnExpressionChangedPriority2: filePath = "ReturnExpressionChangedPriority2.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return 1+(2*3);"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnIntTostring: filePath = "ReturnIntTostring.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public string TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return (10).ToString();"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnAddIntTostring: filePath = "ReturnAddIntTostring.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public string TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return (10+100).ToString();"); source.AppendLine(" }"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; var addMember = new List <string>(); var addSource = new StringBuilder(); switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("if(true)"); source.Add("{"); source.Add("}"); break; case CreatePattern.ExistsElse: filePath = "ExistsElse.cs"; source.Add("if(true)"); source.Add("{"); source.Add("}"); source.Add("else"); source.Add("{"); source.Add("}"); break; case CreatePattern.ExistsManyElse: filePath = "ExistsManyElse.cs"; source.Add("if(true)"); source.Add("{"); source.Add("}"); source.Add("else if(1==1)"); source.Add("{"); source.Add("}"); source.Add("else"); source.Add("{"); source.Add("}"); break; case CreatePattern.NestIfElse: filePath = "NestIfElse.cs"; source.Add("if(true)"); source.Add("{"); source.Add(" if(1==1)"); source.Add(" {"); source.Add(" }"); source.Add(" else"); source.Add(" {"); source.Add(" }"); source.Add("}"); break; case CreatePattern.RefLocalField: filePath = "RefLocalField.cs"; source.Add("var val=true;"); source.Add("if(val)"); source.Add("{"); source.Add("}"); break; case CreatePattern.ConditionsType: filePath = "ConditionsType.cs"; source.Add("var val=1;"); source.Add("if(val is string b)"); source.Add("{"); source.Add("}"); break; case CreatePattern.ConditionsIsType: filePath = "ConditionsIsType.cs"; source.Add("var val=1;"); source.Add("if(val is string)"); source.Add("{"); source.Add("}"); break; case CreatePattern.InstanceProperty: filePath = "InstanceProperty.cs"; addMember.Add("private int Val{get;}= 1"); source.Add("if(Val == 1)"); source.Add("{"); source.Add("}"); break; case CreatePattern.InstanceMethod: filePath = "InstanceMethod.cs"; addMember.Add("private bool GetValue()"); addMember.Add("{"); addMember.Add(" return true;"); addMember.Add("{"); source.Add("if(GetValue())"); source.Add("{"); source.Add("}"); break; } // ソースコード作成 var targetSource = new StringBuilder(); targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine(" }"); addMember.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine("}"); targetSource.AppendLine(addSource.ToString()); return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.AppendLine("public class Standard"); source.AppendLine("{"); source.AppendLine(" public void TestMethod()"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.StandardArgs: filePath = "StandardArgs.cs"; source.AppendLine("public class StandardArgs"); source.AppendLine("{"); source.AppendLine(" public void TestMethod(string str,int intger,float f,decimal d)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ClassArgs: filePath = "ClassArgs.cs"; source.AppendLine("public class ClassArgs"); source.AppendLine("{"); source.AppendLine(" public void TestMethod(Standard instance)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ListArgs: filePath = "ListArgs.cs"; source.AppendLine("public class ListArgs"); source.AppendLine("{"); source.AppendLine(" public void TestMethod(List<string> list)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.Multiple: filePath = "Multiple.cs"; source.AppendLine("public class Multiple"); source.AppendLine("{"); source.AppendLine(" public void TestMethod(string str)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine(" private void TestMethod(string str1,int integer)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.RefArgs: filePath = "RefArgs.cs"; source.AppendLine("public class RefArgs"); source.AppendLine("{"); source.AppendLine(" public void TestMethod(ref int integer,in string str,out decimal output)"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.DefaultValues: filePath = "DefaultValues.cs"; source.AppendLine("public class DefaultValues"); source.AppendLine("{"); source.AppendLine(" public void TestMethod(int integer=10,string str=\"ABC\")"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.ReturnValue: filePath = "ReturnValue.cs"; source.AppendLine("public class ReturnValue"); source.AppendLine("{"); source.AppendLine(" public int TestMethod()"); source.AppendLine(" {"); source.AppendLine(" return 10;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.LambdaReturn: filePath = "LambdaReturn.cs"; source.AppendLine("public class LambdaReturn"); source.AppendLine("{"); source.AppendLine(" public int TestMethod() => 10;"); source.AppendLine("}"); break; case CreatePattern.LambdaVoid: filePath = "LambdaVoid.cs"; source.AppendLine("public class LambdaVoid"); source.AppendLine("{"); source.AppendLine(" public void TestMethod() => System.Diagnostics.Debug.WriteLine(10);"); source.AppendLine("}"); break; case CreatePattern.Generics: filePath = "Generics.cs"; source.AppendLine("public class Generics"); source.AppendLine("{"); source.AppendLine(" public void TestMethod<T,V>()"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.TempInnerClass: filePath = "TempInnerClass.cs"; source.AppendLine("public class TempInnerClass"); source.AppendLine("{"); source.AppendLine(" public class InnerClass"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.InnerClassArgs: filePath = "InnerClassArgs.cs"; source.AppendLine("public class InnnerClassArgs"); source.AppendLine("{"); source.AppendLine(" public TempInnerClass.InnerClass TestMethod(TempInnerClass.InnerClass instance = new TempInnerClass.InnerClass())"); source.AppendLine(" {"); source.AppendLine(" return instance;"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.EnumArgs: filePath = "EnumArgs.cs"; source.AppendLine("public class Standard"); source.AppendLine("{"); source.AppendLine(" prvate enum EnumTest"); source.AppendLine(" {"); source.AppendLine(" Test"); source.AppendLine(" }"); source.AppendLine(" public EnumTest TestMethod(EnumTest enumArg = Standard.EnumTest.Test)"); source.AppendLine(" {"); source.AppendLine(" return Enum.Test;"); source.AppendLine(" }"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; var addMember = new List <string>(); var addSource = new StringBuilder(); switch (pattern) { case CreatePattern.SimpleAssignment: filePath = "SimpleAssignment.cs"; source.Add("int a;"); source.Add("a=1;"); break; case CreatePattern.Invocation: filePath = "Invocation.cs"; source.Add("int.Parse(\"1\");"); source.Add("AddMethod();"); source.Add("AddClass.Test();"); source.Add("target();"); source.Add("void target()"); source.Add("{"); source.Add("}"); // 追加メンバー addMember.Add("private void AddMethod()"); addMember.Add("{"); addMember.Add("}"); // 追加クラス addSource.AppendLine("public class AddClass"); addSource.AppendLine("{"); addSource.AppendLine(" public static void Test(){};"); addSource.AppendLine("}"); break; case CreatePattern.PropertyReference: filePath = "PropertyReference.cs"; source.Add("prop;"); source.Add("AddClass.Prop;"); source.Add("DateTime.Now;"); // 追加メンバー addMember.Add("private int prop{get}=10;"); // 追加クラス addSource.AppendLine("public class AddClass"); addSource.AppendLine("{"); addSource.AppendLine(" public static int Prop{get}=1;"); addSource.AppendLine("}"); break; case CreatePattern.LocalReference: filePath = "LocalReference.cs"; source.Add("var local = 10;"); source.Add("local;"); break; case CreatePattern.Literal: filePath = "Literal.cs"; source.Add("10;"); source.Add("\"20\";"); break; case CreatePattern.FieldReference: filePath = "FieldReference.cs"; source.Add("field;"); source.Add("AddClass.Field;"); source.Add("int.MaxValue;"); // 追加メンバー addMember.Add("private int field=10;"); // 追加クラス addSource.AppendLine("public class AddClass"); addSource.AppendLine("{"); addSource.AppendLine(" public static int Field=1;"); addSource.AppendLine("}"); break; case CreatePattern.InstanceReference: filePath = "InstanceReference.cs"; source.Add("this;"); break; case CreatePattern.CompoundAssignment: filePath = "CompoundAssignment.cs"; source.Add("int a=2;"); source.Add("a+=2;"); source.Add("a-=2;"); source.Add("a*=2;"); source.Add("a/=2;"); source.Add("a+=2*1;"); source.Add("a-=2*2;"); source.Add("a*=2*3;"); source.Add("a/=2*4;"); break; case CreatePattern.IncrementOrDecrement: filePath = "IncrementOrDecrement.cs"; source.Add("int a=2;"); source.Add("a++;"); source.Add("a--;"); source.Add("++a;"); source.Add("--a;"); break; } // ソースコード作成 var targetSource = new StringBuilder(); targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine(" }"); addMember.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine("}"); targetSource.AppendLine(addSource.ToString()); return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
private void OnCreateEmptyPattern() { CreatePattern?.Invoke(this, new NewPatternEventArgs(NewPatternSize, false)); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var isCreateDummyClass = true; var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("void target()"); source.Add("{"); source.Add("}"); break; case CreatePattern.StandardArgs: filePath = "StandardArgs.cs"; source.Add("void target(string str,int intger,float f,decimal d)"); source.Add("{"); source.Add("}"); break; case CreatePattern.ClassArgs: filePath = "ClassArgs.cs"; source.Add("void target(Standard instance)"); source.Add("{"); source.Add("}"); break; case CreatePattern.ListArgs: filePath = "ListArgs.cs"; source.Add("void target(List<string> list)"); source.Add("{"); source.Add("}"); break; case CreatePattern.Multiple: filePath = "Multiple.cs"; source.Add("void target(string str)"); source.Add("{"); source.Add("}"); source.Add("void target(string str1,int integer)"); source.Add("{"); source.Add("}"); break; case CreatePattern.RefArgs: filePath = "RefArgs.cs"; source.Add("void target(ref int integer,in string str,out decimal output)"); source.Add("{"); source.Add("}"); break; case CreatePattern.DefaultValues: filePath = "DefaultValues.cs"; source.Add("void target(int integer=10,string str=\"ABC\")"); source.Add("{"); source.Add("}"); break; case CreatePattern.ReturnValue: filePath = "ReturnValue.cs"; source.Add("int target()"); source.Add("{"); source.Add(" return 10;"); source.Add("}"); break; case CreatePattern.LambdaReturn: filePath = "LambdaReturn.cs"; source.Add("int target()=>10;target();"); break; case CreatePattern.LambdaVoid: filePath = "LambdaVoid.cs"; source.Add("void target() => System.Diagnostics.Debug.WriteLine(10);target();"); break; case CreatePattern.Generics: filePath = "Generics.cs"; source.Add("void target<T,V>(string param1)"); source.Add("{"); source.Add("}"); break; case CreatePattern.TempInnerClass: isCreateDummyClass = false; filePath = "TempInnerClass.cs"; source.Add("public class TempInnerClass"); source.Add("{"); source.Add(" public class InnerClass"); source.Add(" {"); source.Add(" }"); source.Add("}"); break; case CreatePattern.InnerClassArgs: filePath = "InnerClassArgs.cs"; source.Add("TempInnerClass.InnerClass TestMethod(TempInnerClass.InnerClass instance = new TempInnerClass.InnerClass())"); source.Add("{"); source.Add(" return instance;"); source.Add("}"); break; } // ソースコード作成 var targetSource = new StringBuilder(); if (isCreateDummyClass) { targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line}")); targetSource.AppendLine(" }"); targetSource.AppendLine("}"); } else { source.ForEach(line => targetSource.AppendLine($"{line}")); } return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var isCreateDummyClass = true; var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("string target;"); source.Add("int targetInt = 1;"); break; case CreatePattern.TypeInference: filePath = "TypeInference.cs"; source.Add("var target = \"ABC\";"); source.Add("var targetInt = 1;"); break; case CreatePattern.Generics: filePath = "Generics.cs"; source.Add("List<string> target;"); source.Add("var targetInt = new List<int>();"); source.Add("var targetIntDef = new List<int>(){1,2,3};"); source.Add("var targetDictionary = new Dictionary<int,int>(){{1,2},{3,4}};"); break; case CreatePattern.TempInnerClass: isCreateDummyClass = false; filePath = "TempInnerClass.cs"; source.Add("public class TempInnerClass"); source.Add("{"); source.Add(" public class InnerClass"); source.Add(" {"); source.Add(" }"); source.Add("}"); break; case CreatePattern.InnerClass: filePath = "InnerClass.cs"; source.Add("var targetClass = new TempInnerClass();"); source.Add("var targetInnerClass = new TempInnerClass.InnerClass();"); source.Add("var targetList = new List<TempInnerClass.InnerClass>();"); source.Add("TempInnerClass.InnerClass[] targetArray = new TempInnerClass.InnerClass[10];"); break; case CreatePattern.Array: filePath = "Array.cs"; source.Add("int[] list = { 1, 2, 3 };"); break; } // ソースコード作成 var targetSource = new StringBuilder(); if (isCreateDummyClass) { targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line}")); targetSource.AppendLine(" }"); targetSource.AppendLine("}"); } else { source.ForEach(line => targetSource.AppendLine($"{line}")); } return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; var addMember = new List <string>(); var addSource = new StringBuilder(); switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("var val=0;"); source.Add("while(val < 10)"); source.Add("{"); source.Add(" val++;"); source.Add("}"); break; case CreatePattern.DoWhile: filePath = "DoWhile.cs"; source.Add("var val=0;"); source.Add("do{"); source.Add(" val++;"); source.Add("}"); source.Add("while(val < 10)"); break; case CreatePattern.Increment: filePath = "Increment.cs"; source.Add("var val=0;"); source.Add("while(val++ < 10)"); source.Add("{"); source.Add("}"); break; case CreatePattern.Decrement: filePath = "Decrement.cs"; source.Add("var val=10;"); source.Add("do{"); source.Add("}"); source.Add("while(--val >= 0)"); break; case CreatePattern.InstanceProperty: filePath = "InstanceProperty.cs"; addMember.Add("private int MaxCount{get;}= 10"); source.Add("var val=0;"); source.Add("while(val < MaxCount)"); source.Add("{"); source.Add(" val++;"); source.Add("}"); break; case CreatePattern.InstanceMethod: filePath = "InstanceMethod.cs"; addMember.Add("private int GetMaxCount()"); addMember.Add("{"); addMember.Add(" return 10;"); addMember.Add("{"); source.Add("var val=0;"); source.Add("while(val < GetMaxCount())"); source.Add("{"); source.Add(" val++;"); source.Add("}"); break; } // ソースコード作成 var targetSource = new StringBuilder(); targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine(" }"); addMember.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine("}"); targetSource.AppendLine(addSource.ToString()); return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.AppendLine("public class ClassTest"); source.AppendLine("{"); source.AppendLine(" public string FieldString;"); source.AppendLine(" public int FieldInt = 1;"); source.AppendLine(@" private const string Const=""123"";"); source.AppendLine("}"); break; case CreatePattern.ClassField: filePath = "ClassField.cs"; source.AppendLine("public class ClassField"); source.AppendLine("{"); source.AppendLine(" private ClassTest fieldClass1;"); source.AppendLine(" protected ClassTest fieldClass2 = new ClassTest();"); source.AppendLine(" private static ClassTest fieldClass3 = null;"); source.AppendLine("}"); break; case CreatePattern.ListField: filePath = "ListField.cs"; source.AppendLine("public class ListField"); source.AppendLine("{"); source.AppendLine(" private List<string> field1;"); source.AppendLine(" private List<string> field2 = new List<string>();"); source.AppendLine("}"); break; case CreatePattern.TempInnerClass: filePath = "TempInnerClass.cs"; source.AppendLine("public class TempInnerClass"); source.AppendLine("{"); source.AppendLine(" public class InnerClass"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.InnerClassField: filePath = "InnerClassField.cs"; source.AppendLine("public class InnerClassField"); source.AppendLine("{"); source.AppendLine(" public TempInnerClass.InnerClass field1 = new TempInnerClass.InnerClass()"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.AppendLine("public interface Inf "); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.StandardExistMembers: filePath = "StandardExistMembers.cs"; source.AppendLine("public interface Inf "); source.AppendLine("{"); source.AppendLine(" string PropertyString{set; get;}"); source.AppendLine(" int PropertydInt{get;}"); source.AppendLine(" void TestMethod(int integer=10,string str=\"ABC\");"); source.AppendLine("}"); break; case CreatePattern.StandardMethodOverLoad: filePath = "StandardMethodOverLoad.cs"; source.AppendLine("public interface Inf "); source.AppendLine("{"); source.AppendLine(" void TestMethod(decimal decimalValue);"); source.AppendLine(" void TestMethod(int integer=10,string str=\"ABC\");"); source.AppendLine("}"); break; case CreatePattern.SubInterface: filePath = "SubInterface.cs"; source.AppendLine("public interface SubInf : Inf"); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.MultiInterface: filePath = "MultiInterface.cs"; source.AppendLine("public interface ManyInf : Inf, Inf2"); source.AppendLine("{"); source.AppendLine("}"); source.AppendLine("public interface Inf2"); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.AnyInterface: filePath = "AnyInterface.cs"; source.AppendLine("public interface AnyInf : SubInf"); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.SubInterfaceMethodOverLoad: filePath = "SubInterfaceMethodOverLoad.cs"; source.AppendLine("public interface SubInf : Inf"); source.AppendLine("{"); source.AppendLine(" void TestMethod(decimal decimalValue);"); source.AppendLine("}"); break; case CreatePattern.GenericInterface: filePath = "GenericInterface.cs"; source.AppendLine("public interface Inf<T,U> "); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.GenericsSubFixedType: filePath = "GenericsSubFixedType.cs"; source.AppendLine("public interface Sub :Inf<string, int> "); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.GenericsSubFixedTypeMulti: filePath = "GenericsSubFixedTypeMulti.cs"; source.AppendLine("public interface Inf2<T> "); source.AppendLine("{"); source.AppendLine("}"); source.AppendLine("public interface Sub :Inf<string, int>,Inf2<decimal> "); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.TempInnerClass: filePath = "TempInnerClass.cs"; source.AppendLine("public class TempInnerClass"); source.AppendLine("{"); source.AppendLine(" public class InnerClass"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); source.AppendLine("public interface Inf2<T> "); source.AppendLine("{"); source.AppendLine("}"); break; case CreatePattern.InnerClassGenericInterface: filePath = "InnerClassGenericInterface.cs"; source.AppendLine("public interface InnerClassGenericInterface:Inf2<TempInnerClass.InnerClass>"); source.AppendLine("{"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; var addMember = new List <string>(); var addSource = new StringBuilder(); switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("var val=1;"); source.Add("switch(val)"); source.Add("{"); source.Add(" case 1:"); source.Add(" break;"); source.Add("}"); break; case CreatePattern.CaseDefault: filePath = "CaseDefault.cs"; source.Add("var val=1;"); source.Add("switch(val)"); source.Add("{"); source.Add(" case 1:"); source.Add(" break;"); source.Add(" default:"); source.Add(" break;"); source.Add("}"); break; case CreatePattern.MultiCase: filePath = "MultiCase.cs"; source.Add("var val=1;"); source.Add("switch(val)"); source.Add("{"); source.Add(" case 1:"); source.Add(" case 2:"); source.Add(" break;"); source.Add("}"); break; case CreatePattern.TypeCase: filePath = "TypeCase.cs"; addMember.Add("private enum EnumTest"); addMember.Add("{"); addMember.Add(" Test;"); addMember.Add("}"); source.Add("object val = 1;"); source.Add("switch(val)"); source.Add("{"); source.Add(" case int b:"); source.Add(" break;"); source.Add(" case string b:"); source.Add(" break;"); source.Add(" case EnumTest e:"); source.Add(" break;"); source.Add("}"); break; case CreatePattern.NestSwitch: filePath = "NestSwitch.cs"; source.Add("object val = 1;"); source.Add("switch(val)"); source.Add("{"); source.Add(" case int b:"); source.Add(" switch(b)"); source.Add(" {"); source.Add(" case 1:"); source.Add(" break;"); source.Add("}"); source.Add(" break;"); source.Add("}"); break; case CreatePattern.InstanceProperty: filePath = "InstanceProperty.cs"; addMember.Add("private int Val{get;}= 1"); source.Add("switch(Val)"); source.Add("{"); source.Add(" case 1:"); source.Add(" break;"); source.Add("}"); break; case CreatePattern.InstanceMethod: filePath = "InstanceMethod.cs"; addMember.Add("private int GetValue()"); addMember.Add("{"); addMember.Add(" return 1;"); addMember.Add("{"); source.Add("switch(GetValue())"); source.Add("{"); source.Add(" case 1:"); source.Add(" break;"); source.Add("}"); break; } // ソースコード作成 var targetSource = new StringBuilder(); targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine(" }"); addMember.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine("}"); targetSource.AppendLine(addSource.ToString()); return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
private void OnCreateRandomPattern() { CreatePattern?.Invoke(this, new NewPatternEventArgs(NewPatternSize, true)); }
void Awake() { worldmap.SetActive(true); npcsc_sc = npc.GetComponent <NpcScript>(); money_text = Money_tex.GetComponent <Text>(); Singleton.getInstance.stage = 999; Singleton.getInstance.MyPosition = Inanis_map.WorldTree; mapname_img = MapnameSeal.GetComponent <Image>(); Screen.SetResolution(540, 960, false); if (PlayerPrefs.GetInt("Money") == 0) { if (PlayerPrefs.GetInt("First") == 0) { Debug.Log("f"); PlayerPrefs.SetInt("First", 1); PlayerPrefs.SetInt("Money", 100); PlayerPrefs.Save(); } } int i = PlayerPrefs.GetInt("Quest"); if (i == 0) { Singleton.getInstance.quest = Quest.none; } else if (i == 1) { Singleton.getInstance.quest = Quest.going; } else if (i == 2) { Singleton.getInstance.quest = Quest.finish; } else if (i == 3) { Singleton.getInstance.quest = Quest.fd; } if (PlayerPrefs.GetInt("BerserkerLevel") == 0) { PlayerPrefs.SetInt("BerserkerLevel", 1); } Singleton.getInstance.Level = PlayerPrefs.GetInt("BerserkerLevel"); Singleton.getInstance.EnableWorld[0] = 1; Singleton.getInstance.EnableWorld[1] = 1; Singleton.getInstance.EnableWorld[2] = 0; Singleton.getInstance.EnableWorld[3] = 0; Singleton.getInstance.EnableWorld[4] = 0; Singleton.getInstance.EnableWorld[5] = 0; Singleton.getInstance.money = PlayerPrefs.GetInt("Money"); Singleton.getInstance.Level = PlayerPrefs.GetInt("BerserkerLevel"); int c = 50; int j = Singleton.getInstance.Level; for (int d = 1; d < j; d++) { c += ((d) * 2 + 1); } Singleton.getInstance.Power = c; Singleton.getInstance.skill1lv = PlayerPrefs.GetInt("SKill1"); Singleton.getInstance.skill2lv = PlayerPrefs.GetInt("SKill2"); mapname.Add("메마른 오아시스 입구"); mapname.Add("붉은 사막길3"); mapname.Add("붉은 사막길2"); mapname.Add("붉은 사막길1"); mapname.Add("황폐화된 벌판2"); mapname.Add("황페화된 벌판1"); mapname.Add("메마른 오아시스"); mapname.Add("메마른 오아시스"); money_text.text = Singleton.getInstance.money.ToString() + " G"; bossmanager_sc = GetComponent <BossManager>(); mapname_text = Mapname_gb.GetComponent <Text>(); createpattern_sc = GetComponent <CreatePattern>(); monstermananger_sc = GetComponent <MonsterMananger>(); mapselector_sc = GetComponent <MapSelector>(); map_sc = Map_gb.GetComponent <Map>(); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new List <string>(); var filePath = string.Empty; var addMember = new List <string>(); var addSource = new StringBuilder(); switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.Add("var values = new int[]{1,2,3 };"); source.Add("foreach(var value in values)"); source.Add("{"); source.Add("}"); break; case CreatePattern.ListStrings: filePath = "ListStrings.cs"; source.Add("var values = new List<string>{\"1\",\"2\", \"3\" };"); source.Add("foreach(var value in values)"); source.Add("{"); source.Add("}"); break; case CreatePattern.DictionaryKey: filePath = "DictionaryKey.cs"; source.Add("var values = new Dictionary<int,string>{{10,\"1\"},{20,\"2\"}, {30,\"3\" }};"); source.Add("foreach(var value in values.Keys)"); source.Add("{"); source.Add("}"); break; case CreatePattern.DictionaryValue: filePath = "DictionaryValue.cs"; source.Add("var values = new Dictionary<int,string>{{10,\"1\"},{20,\"2\"}, {30,\"3\" }};"); source.Add("foreach(var value in values.Values)"); source.Add("{"); source.Add("}"); break; case CreatePattern.Dictionary: filePath = "Dictionary.cs"; source.Add("var values = new Dictionary<int,string>{{10,\"1\"},{20,\"2\"}, {30,\"3\" }};"); source.Add("foreach(var value in values)"); source.Add("{"); source.Add("}"); break; case CreatePattern.GenericsNest: filePath = "GenericsNest.cs"; source.Add("var values = new Dictionary<int,List<string>>"); source.Add("{"); source.Add("{0,new List<string>{\"a\",\"b\",\"c\",} },"); source.Add("{1,new List<string>{\"A\",\"B\",\"C\",} },"); source.Add("};"); source.Add("foreach(var value in values)"); source.Add("{"); source.Add("}"); break; case CreatePattern.Indexer: filePath = "Indexer.cs"; source.Add("var values = new Dictionary<int,List<string>>"); source.Add("{"); source.Add("{0,new List<string>{\"a\",\"b\",\"c\",} },"); source.Add("{1,new List<string>{\"A\",\"B\",\"C\",} },"); source.Add("};"); source.Add("foreach(var value in values[0])"); source.Add("{"); source.Add("}"); break; case CreatePattern.InstanceProperty: filePath = "InstanceProperty.cs"; addMember.Add("private List<int> Values{get;}= new List<int>();"); source.Add("Values.AddRange(new List<int>{0,1,2,3});"); source.Add("foreach(var value in Values)"); source.Add("{"); source.Add("}"); break; case CreatePattern.InstanceMethod: filePath = "InstanceMethod.cs"; addMember.Add("private List<int> GetValues()"); addMember.Add("{"); addMember.Add(" return new List<int>{0,1,2,3};"); addMember.Add("{"); source.Add("foreach(var value in GetValues())"); source.Add("{"); source.Add("}"); break; case CreatePattern.InnerClassMethod: filePath = "InnerClassMethod.cs"; addMember.Add("public class InnerClass"); addMember.Add("{"); addMember.Add("}"); addMember.Add("private List<Standard.InnerClass> GetValues()"); addMember.Add("{"); addMember.Add(" return new List<Standard.InnerClass>();"); addMember.Add("{"); source.Add("foreach(var value in GetValues())"); source.Add("{"); source.Add("}"); break; } var targetSource = new StringBuilder(); targetSource.AppendLine("public class Standard"); targetSource.AppendLine("{"); targetSource.AppendLine(" public void TestMethod()"); targetSource.AppendLine(" {"); source.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine(" }"); addMember.ForEach(line => targetSource.AppendLine($" {line }")); targetSource.AppendLine("}"); targetSource.AppendLine(addSource.ToString()); return(new FileData(filePath, usingList.ToString(), targetSource.ToString())); }
/// <summary> /// ファイル名、ソースコード取得処理 /// </summary> /// <param name="pattern">生成パターン</param> /// <returns>ファイルパスとソースコード</returns> private FileData CreateSource(CreatePattern pattern) { var usingList = new StringBuilder(); var source = new StringBuilder(); var filePath = string.Empty; switch (pattern) { case CreatePattern.Standard: filePath = "Standard.cs"; source.AppendLine("public class ClassTest"); source.AppendLine("{"); source.AppendLine(" public string PropertyString{set; get;}"); source.AppendLine(" public int PropertydInt{get;} = 1;"); source.AppendLine("}"); break; case CreatePattern.RefField: filePath = "RefField.cs"; source.AppendLine("public class RefFieldTest"); source.AppendLine("{"); source.AppendLine(" private string fieldString;"); source.AppendLine(" public string PropertyString"); source.AppendLine(" {"); source.AppendLine(" set{"); source.AppendLine(" fieldString = value;"); source.AppendLine(" }"); source.AppendLine(" get{"); source.AppendLine(" return fieldString;"); source.AppendLine(" }"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.Static: filePath = "Static.cs"; source.AppendLine("public class StaticTest"); source.AppendLine("{"); source.AppendLine(" public static string PropertyString{set; get;}"); source.AppendLine("}"); break; case CreatePattern.ClassProperty: filePath = "ClassProperty.cs"; source.AppendLine("public class ClassPropertyTest"); source.AppendLine("{"); source.AppendLine(" public ClassTest PropertyString{set; get;}"); source.AppendLine("}"); break; case CreatePattern.Generic: filePath = "Generic.cs"; source.AppendLine("public class GenericTest"); source.AppendLine("{"); source.AppendLine(" public List<string> PropertyList{set; get;} = new List<string>();"); source.AppendLine("}"); break; case CreatePattern.LamdaGet: filePath = "LamdaGet.cs"; source.AppendLine("public class GenericTest"); source.AppendLine("{"); source.AppendLine(" private string s;"); source.AppendLine(" public string S => s; "); source.AppendLine("}"); break; case CreatePattern.LamdaSetGet: filePath = "LamdaSetGet.cs"; source.AppendLine("public class GenericTest"); source.AppendLine("{"); source.AppendLine(" private string s;"); source.AppendLine(" public string S { get => s; set => s = value; }"); source.AppendLine("}"); break; case CreatePattern.TempInnerClass: filePath = "TempInnerClass.cs"; source.AppendLine("public class TempInnerClass"); source.AppendLine("{"); source.AppendLine(" public class InnerClass"); source.AppendLine(" {"); source.AppendLine(" }"); source.AppendLine("}"); break; case CreatePattern.InnerClassProperty: filePath = "InnerClassProperty.cs"; source.AppendLine("public class InnerClassField"); source.AppendLine("{"); source.AppendLine(" public TempInnerClass.InnerClass Property1 {get;} = new TempInnerClass.InnerClass()"); source.AppendLine("}"); break; } return(new FileData(filePath, usingList.ToString(), source.ToString())); }