public RobotSourceCode GetRobotSourceCode(RobotSourceCode robotSourceCode) { if (this.StoredRobotSourceCodes.Contains(robotSourceCode) == false) { return(null); } return(this.StoredRobotSourceCodes.Find(x => x == robotSourceCode)); }
public RobotSourceCode CreateRobotSourceCode(string sourceCodeName) { RobotSourceCode createdRobotSourceCode = new RobotSourceCode(sourceCodeName); if (createdRobotSourceCode != null) { this.AddStoredRobotSourceCodeTemplate(createdRobotSourceCode); } return(createdRobotSourceCode); }
protected virtual void OnSetEditingRobotSourceCode(RobotSourceCode robotSourceCode) { if (robotSourceCode != null) { this.InitSourceCodeViewer(); } else { this.ClearAllSpawnedBlockEditorUnitInSourceCode(); } }
public void LoadAllRobotSourceCodes() { foreach (string file in Directory.EnumerateFiles(SaveFolderPath, "*.json")) { string json = File.ReadAllText(file); RobotSourceCode createdRobotSourceCode = JsonConvert.DeserializeObject <RobotSourceCode>(json, Utility.JsonSerializerSettings); this.AddStoredRobotSourceCodeTemplate(createdRobotSourceCode); #if UNITY_EDITOR Debug.Log(Utility.TraceWriter.ToString()); #endif } System.GC.Collect(); }
protected override void OnSetEditingRobotSourceCode(RobotSourceCode robotSourceCode) { base.OnSetEditingRobotSourceCode(robotSourceCode); if (robotSourceCode != null) { this.InitCustomBlockOnBlockShop(); this.InitRobotGlobalVariableOnBlockShop(); } else { //Should Clear This //this.InitCustomBlockOnBlockShop(); //this.InitRobotGlobalVariableOnBlockShop(); } }
private bool AddStoredRobotSourceCodeTemplate(RobotSourceCode robotSourceCode) { if (robotSourceCode == null) { return(false); } if (this.StoredRobotSourceCodes.Contains(robotSourceCode) == true) { Debug.LogError("Try AddStoredRobotSourceCodeTemplate. SourceCodeName : " + robotSourceCode.SourceCodeName); return(false); } this.StoredRobotSourceCodes.Add(robotSourceCode); return(true); }
private void OnSetRobotSourceCode(RobotSourceCode robotSourceCode) { this.InitRobotGlobalVariable(robotSourceCode.GetDeepCopyOfRobotGlobalVariableTemplate()); // Deep copy MemoryVariable DefinitionCustomBlock[] definitionCustomBlocks = robotSourceCode.StoredCustomBlockDefinitionBlockArray; if (definitionCustomBlocks != null && definitionCustomBlocks.Length > 0) { for (int i = 0; i < definitionCustomBlocks.Length; i++) { this.InitCustomBlockParameterVariables(definitionCustomBlocks[i]); } } this.BlockCallStack.Clear(); // Cleare BlockCallStack this.PushToBlockCallStack(this.installedRobotSourceCode.InitBlock); this.WaitingTime = 0; }
public bool InstallRobotSourceCode(RobotSourceCode robotSourceCode) { if (robotSourceCode == null) { Debug.LogError("robotSourceCode is null"); return(false); } if (this.installedRobotSourceCode != null) { this.installedRobotSourceCode.RemoveFromInstalledRobotList(this); this.installedRobotSourceCode = null; // Clear Reference Of Installed Robot Source Code } this.installedRobotSourceCode = robotSourceCode; //shallow Copy this.installedRobotSourceCode.AddToInstalledRobotList(this); OnSetRobotSourceCode(robotSourceCode); return(true); }
public void SaveRobotSourceCode(RobotSourceCode robotSourceCode) { if (robotSourceCode == null) { return; } string json = JsonConvert.SerializeObject(robotSourceCode, Formatting.Indented, Utility.JsonSerializerSettings); string savePath = GetSaveFilePath(robotSourceCode); Debug.Log(savePath); File.WriteAllText(savePath, json); #if UNITY_EDITOR Utility.stringBuilderCache.Clear(); Utility.stringBuilderCache.Append("Success Serialize RobotSourceCode To Json : "); Utility.stringBuilderCache.Append(robotSourceCode.SourceCodeName); Utility.stringBuilderCache.Append("\n\n"); Utility.stringBuilderCache.Append(json); Debug.Log(Utility.stringBuilderCache.ToString()); #endif }
private string GetSaveFilePath(RobotSourceCode robotSourceCode) { return(this.SaveFolderPath + robotSourceCode.SourceCodeName + ".json"); }