/// <inheritdoc/> protected override SourceFile CreateSourceFile(string fileName, ScriptTarget languageVersion, bool allowBackslashesInPathInterpolation) { var result = base.CreateSourceFile(fileName, languageVersion, allowBackslashesInPathInterpolation); result.PathTable = m_pathTable; return(result); }
/// <inheritdoc/> protected override SourceFile CreateSourceFile(string fileName, ScriptTarget languageVersion, bool allowBackslashesInPathInterpolation) { var sourceFile = base.CreateSourceFile(fileName, languageVersion, allowBackslashesInPathInterpolation); sourceFile.SetSerializedAst(m_serializedAstContent, m_serializedAstLength); return(sourceFile); }
/// <summary> /// 强制移除 /// </summary> /// <param name="CMD">CM.</param> /// <param name="target">Target.</param> public void UnRegisterLogicFunc(int CMD, ScriptTarget target = ScriptTarget.Sharp) { if (this.ScriptDic.ContainsKey(CMD)) { SimpleDictionary <int, ScriptPkg> dic = this.ScriptDic[CMD]; if (dic.ContainsKey((int)target)) { dic[(int)target].Dispose(); dic.RemoveKey((int)target); } } }
public override void RemoveToPool() { base.RemoveToPool(); if (this._Gparams != null) { //KObjectPool.mIns.Push(this._Gparams); this._Gparams = null; } if (this._Initparams != null) { KObjectPool.mIns.Push(this._Initparams); this._Initparams = null; } if (this._RParams != null) { KObjectPool.mIns.Push(this._RParams); this._RParams = null; } this.target = ScriptTarget.Unknown; }
public DeploymentActionResource AddOrUpdateScriptAction(string name, ScriptAction scriptAction, ScriptTarget scriptTarget) { var action = AddOrUpdateAction(name); action.ActionType = "Octopus.Script"; action.Properties.Clear(); action.Properties["Octopus.Action.RunOnServer"] = scriptTarget == ScriptTarget.Server ? "true" : "false"; action.Properties["Octopus.Action.Script.Syntax"] = scriptAction.Syntax.ToString(); action.Properties["Octopus.Action.Script.ScriptSource"] = scriptAction.Source.ToString(); RequiresPackagesToBeAcquired = scriptAction.Source == ScriptSource.Package; switch (scriptAction.Source) { case ScriptSource.Inline: string scriptBody = null; var inlineScript = scriptAction as InlineScriptAction; if (inlineScript != null) { scriptBody = inlineScript.GetScriptBody(); } var inlineScriptFromFileInAssembly = scriptAction as InlineScriptActionFromFileInAssembly; if (inlineScriptFromFileInAssembly != null) { scriptBody = inlineScriptFromFileInAssembly.GetScriptBody(); } if (scriptBody == null) { throw new NotSupportedException($"{scriptAction.GetType().Name} is not a supported Script Action type yet..."); } action.Properties.Add("Octopus.Action.Script.ScriptBody", scriptBody); break; case ScriptSource.Package: var packageScript = (ScriptActionFromFileInPackage)scriptAction; action.Properties.Add("Octopus.Action.Package.PackageId", packageScript.PackageId); action.Properties.Add("Octopus.Action.Package.FeedId", packageScript.PackageFeedId); action.Properties.Add("Octopus.Action.Script.ScriptFileName", packageScript.ScriptFilePath); break; } return(action); }
public void RegisterLogicFunc(MethodInfo method, int CMD, string MethodName, object attvalue, ScriptTarget target) { if (ScriptDic.ContainsKey(CMD)) { SimpleDictionary <int, ScriptPkg> dic = this.ScriptDic[CMD]; if (dic.ContainsKey((int)target)) { LogMgr.LogErrorFormat("重复注册逻辑函数 {0}", CMD); } else { if (target == ScriptTarget.Sharp) { dic[(int)target] = ScriptPkg.CreateSharp(method, MethodName); } else if (target == ScriptTarget.Lua) { #if TOLUA dic[(int)target] = ScriptPkg.CreateLua(attvalue); #else throw new FrameWorkException("Missing Lua"); #endif } } } else { SimpleDictionary <int, ScriptPkg> dic = new SimpleDictionary <int, ScriptPkg>(); if (target == ScriptTarget.Sharp) { dic[(int)target] = ScriptPkg.CreateSharp(method, MethodName); } else if (target == ScriptTarget.Lua) { #if TOLUA dic[(int)target] = ScriptPkg.CreateLua(attvalue); #else LogMgr.LogError("Missing Lua"); #endif } this.ScriptDic.Add(CMD, dic); } }
public DeploymentActionResource AddOrUpdateScriptAction(string name, ScriptAction scriptAction, ScriptTarget scriptTarget) { var action = AddOrUpdateAction(name); action.ActionType = "Octopus.Script"; action.Properties.Clear(); action.Properties["Octopus.Action.RunOnServer"] = scriptTarget == ScriptTarget.Server ? "true" : "false"; action.Properties["Octopus.Action.Script.Syntax"] = scriptAction.Syntax.ToString(); action.Properties["Octopus.Action.Script.ScriptSource"] = scriptAction.Source.ToString(); RequiresPackagesToBeAcquired = scriptAction.Source == ScriptSource.Package; switch (scriptAction.Source) { case ScriptSource.Inline: string scriptBody = null; var inlineScript = scriptAction as InlineScriptAction; if (inlineScript != null) { scriptBody = inlineScript.GetScriptBody(); } var inlineScriptFromFileInAssembly = scriptAction as InlineScriptActionFromFileInAssembly; if (inlineScriptFromFileInAssembly != null) { scriptBody = inlineScriptFromFileInAssembly.GetScriptBody(); } if (scriptBody == null) throw new NotSupportedException($"{scriptAction.GetType().Name} is not a supported Script Action type yet..."); action.Properties.Add("Octopus.Action.Script.ScriptBody", scriptBody); break; case ScriptSource.Package: var packageScript = (ScriptActionFromFileInPackage) scriptAction; action.Properties.Add("Octopus.Action.Package.PackageId", packageScript.PackageId); action.Properties.Add("Octopus.Action.Package.FeedId", packageScript.PackageFeedId); action.Properties.Add("Octopus.Action.Script.ScriptFileName", packageScript.ScriptFilePath); break; } return action; }