void Start() { //好用的東東但用不到 會取所有的AudioSource 連帶影響到BGM //SFXSource = FindObjectsOfType(typeof(AudioSource))as AudioSource[]; //抓取全部有以下 Tag的物件 SFXGameObjectGroup1 = GameObject.FindGameObjectsWithTag("Monster"); SFXGameObjectGroup2 = GameObject.FindGameObjectsWithTag("SFXSource");//本來只有一個現在Player跟Canvas getHitEffect = FindObjectOfType <GetHitEffect>(); BGMSource = GetComponent <AudioSource>(); //音量初始 //foreach (AudioSource SFXAudioSource in SFXSource) //{ // SFXAudioSource.volume = CentralData.GetInst().SFXVol; //} //所有有Monster Tag的物件的音量全部設定 foreach (GameObject SFXAudioSource in SFXGameObjectGroup1) { SFXAudioSource.GetComponent <AudioSource>().volume = CentralData.GetInst().SFXVol; } foreach (GameObject SFXAudioSource in SFXGameObjectGroup2) { SFXAudioSource.GetComponent <AudioSource>().volume = CentralData.GetInst().SFXVol; } BGMSource.volume = CentralData.GetInst().BGMVol; BGMSlider.value = CentralData.GetInst().BGMVol; SFXSlider.value = CentralData.GetInst().SFXVol; }
// Start is called before the first frame update void Start() { // 呼叫CentralData CentralData myData = CentralData.GetInst(); // 動態設定p1 p2 //p1 = factory.Create("黃色小鴨"); //p2 = factory.Create("黃色小鴨"); p1 = factory.Create(myData.Player); p2 = factory.Create(myData.Enemy); p1.transform.position = new Vector3(-5.0f, -0.7f, 0.0f); p2.transform.position = new Vector3(5.2f, 1.0f, 0.0f); // 翻轉p1 SpriteRenderer spr = p1.GetComponent <SpriteRenderer>(); if (spr != null) { spr.flipX = true; } // 顯示腳色 p1.gameObject.SetActive(true); p2.gameObject.SetActive(true); // 初始化腳色的訊息框 panel1.Init(p1); panel2.Init(p2); string msg = "開戰!! " + p1.pokename + " vs " + p2.pokename + " 決鬥開始"; message.text = msg; }
// Start is called before the first frame update void Start() { //source = this.GetComponent<AudioSource>(); // 初始 source.volume = CentralData.GetInst().AudioVol; }
public void LoadData() { Debug.Log("進行讀檔"); CentralData.LoadData(); //BGM及音效 audioMgr.BGMSlider.value = CentralData.GetInst().BGMVol; audioMgr.SFXSlider.value = CentralData.GetInst().SFXVol; //魔塵 getHitEffect.dust = CentralData.GetInst().dust; //技能等級 skillBase.fireSkillLevel = CentralData.GetInst().fireSkillLevel; skillBase.poisonSkillLevel = CentralData.GetInst().poisonSkillLevel; skillBase.stoneSkillLevel = CentralData.GetInst().stoneSkillLevel; skillBase.waterSkillLevel = CentralData.GetInst().waterSkillLevel; skillBase.windSkillLevel = CentralData.GetInst().windSkillLevel; skillBase.SkillImageChange(skillBase.fireSkillLevel, skillBase.fireImage); skillBase.SkillImageChange(skillBase.poisonSkillLevel, skillBase.poisonImage); skillBase.SkillImageChange(skillBase.stoneSkillLevel, skillBase.stoneImage); skillBase.SkillImageChange(skillBase.waterSkillLevel, skillBase.waterImage); skillBase.SkillImageChange(skillBase.windSkillLevel, skillBase.windImage); //角色數值 for (int i = 0; i < (int)CharacterStats.Count; i++) { characterBase.charaterStats[i] = CentralData.GetInst().charaterStats[i]; } characterBase.StatsCheck(); Debug.Log("火技能" + skillBase.fireSkillLevel + "\n毒技能" + skillBase.poisonSkillLevel + "\n土技能" + skillBase.stoneSkillLevel + "\n水技能" + skillBase.waterSkillLevel + "\n風技能" + skillBase.windSkillLevel); }
public float GetVol() { if (CentralData.GetInst().AudioVol != source.volume) { source.volume = CentralData.GetInst().AudioVol; } return(source.volume); }
void Start() { playerControl = FindObjectOfType <PlayerControl>(); gameMenu = FindObjectOfType <GameMenu>(); spriteRenderer = GetComponent <SpriteRenderer>(); SFXSource = GetComponentInParent <AudioSource>(); SFXSource.volume = CentralData.GetInst().SFXVol; }
private uint nowprocess = 0; // 當前進度,控制Slider的百分比 // 定義一個協程 public void LoadLevel(int sceneIndex) { CentralData.GetInst(); //指定要讀取的場景 async = SceneManager.LoadSceneAsync(1); //設定讀取完後不能自動跳場景 async.allowSceneActivation = false; }
public static CentralData LoadData() { string jstr = File.ReadAllText(path + filename); CentralData data = JsonUtility.FromJson <CentralData>(jstr); Debug.Log("讀檔成功"); return(data); }
public static CentralData LoadData() { // 讀檔 string jstr = File.ReadAllText(path + filename); // json轉物件 CentralData data = JsonUtility.FromJson <CentralData>(jstr); return(data); }
void Start() { characterBase = FindObjectOfType <CharacterBase>(); dust = CentralData.GetInst().dust; playerHealth = maxHp; uIBarControl.SetMaxHealth(maxHp); //UI身上的血條 healthbarongame.SetMaxHealth(maxHp); //人物身上的血條 RD = GetComponent <Rigidbody>(); }
public void ChooseMe() { Toggle tg = this.GetComponent <Toggle>(); if (tg.isOn) { CentralData.GetInst().Player = PokeName; Debug.Log(CentralData.GetInst().Player); } }
public void StatsCheck() { for (int i = 0; i < (int)CharacterStats.Count; i++) { charaterStats[i] = CentralData.GetInst().charaterStats[i]; } for (int i = 0; i < charaterStats.Length; i++) { charaterNumber[i].text = charaterStats[i].ToString(); } }
void Start() { fireSkillLevel = CentralData.GetInst().fireSkillLevel; poisonSkillLevel = CentralData.GetInst().poisonSkillLevel; stoneSkillLevel = CentralData.GetInst().stoneSkillLevel; waterSkillLevel = CentralData.GetInst().waterSkillLevel; windSkillLevel = CentralData.GetInst().windSkillLevel; SkillImageChange(fireSkillLevel, fireImage); SkillImageChange(poisonSkillLevel, poisonImage); SkillImageChange(stoneSkillLevel, stoneImage); SkillImageChange(waterSkillLevel, waterImage); SkillImageChange(windSkillLevel, windImage); }
public static void SaveData() { CentralData data = GetInst(); // CentralData 轉 Json string jstr = JsonUtility.ToJson(data); // 寫檔 if (!Directory.Exists(path)) // 不存在 { // 建立新的資料夾 Directory.CreateDirectory(path); } File.WriteAllText(path + filename, jstr); }
public static CentralData GetInst() { if (mInstance == null) { if (File.Exists(path + filename)) { mInstance = LoadData(); } else { mInstance = new CentralData(); } } return(mInstance); }
public static CentralData GetInst()//靜態成員與GetInst()方法 { //判斷是否有中繼點 if (mInstance == null) { if (File.Exists(path + filename)) { //讀取中繼點 mInstance = LoadData(); } else { //新增一個中繼點 mInstance = new CentralData(); } } return(mInstance); }
public static void SaveData() { //CentralData data = GetInst(); //取得存檔的路徑與檔名 //測試 CentralData data = GetInst(); //CentralData 轉Json string jstr = JsonUtility.ToJson(mInstance); //寫檔 if (!Directory.Exists(path)) //不存在 { //建立新的資料夾 Directory.CreateDirectory(path); } File.WriteAllText(path + filename, jstr); Debug.Log("存檔成功"); }
public void SaveData(Text dateTime) { Debug.Log("進行存檔"); //BGM及音效 CentralData.GetInst().BGMVol = audioMgr.BGMSlider.value; CentralData.GetInst().SFXVol = audioMgr.SFXSlider.value; //魔塵 CentralData.GetInst().dust = getHitEffect.dust; //技能等級 CentralData.GetInst().fireSkillLevel = skillBase.fireSkillLevel; CentralData.GetInst().poisonSkillLevel = skillBase.poisonSkillLevel; CentralData.GetInst().stoneSkillLevel = skillBase.stoneSkillLevel; CentralData.GetInst().waterSkillLevel = skillBase.waterSkillLevel; CentralData.GetInst().windSkillLevel = skillBase.windSkillLevel; //角色數值 for (int i = 0; i < (int)CharacterStats.Count; i++) { CentralData.GetInst().charaterStats[i] = characterBase.charaterStats[i]; } dateTime.text = DateTime.Now.ToString(); CentralData.SaveData(); }
//public GameObject explosionEffect; void Start() { audioSource = GetComponent <AudioSource>(); audioSource.volume = CentralData.GetInst().SFXVol; Destroy(gameObject, DestroyTime); }
public void ChooseEnemy() { CentralData.GetInst().Enemy = PokeName; Debug.Log(CentralData.GetInst().Enemy); SceneManager.LoadScene("Game"); }
public AudioClip SFX; //音效 void Start() { audioSource = GetComponent <AudioSource>(); audioSource.volume = CentralData.GetInst().SFXVol; }
static void Main(string[] args) { if (args.Length == 0) { var debugIniDir = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); var debugIniPath = debugIniDir + "\\Debug.ini"; if (File.Exists(debugIniPath)) { string debugIniArgsStr = IniFileHelper.ReadIniString(debugIniPath, "setting", "args", ""); args = debugIniArgsStr.Split(' '); } } if (args.Length < 2) { goto End; } //# appArgsStr format //appCode ^formTitle^commonParams^startPassword^usrCode^userPassword^usrToken^invisibleFlag ^ isRedirectedFlag //#ov- //# appArgsStr = EncryptionHelper.SmDecrypt(args[0],EncryptionHelper.GlobalKey1,EncryptionHelper.GlobalKey2); var appArgStrArry = args[0].GetParamArray(true, false); //if (appArgStrArry.Length < 1) goto End; var appCode = appArgStrArry[0]; var formTitle = ""; var commonParams = ""; var startPassword = ""; var usrCode = ""; var usrPassword = ""; var usrToken = ""; var invisibleFlag = ""; var isRedirectedFlag = ""; if (appArgStrArry.Length > 1) { formTitle = appArgStrArry[1]; } if (appArgStrArry.Length > 2) { commonParams = appArgStrArry[2]; } if (appArgStrArry.Length > 3) { startPassword = appArgStrArry[3]; } if (appArgStrArry.Length > 4) { usrCode = appArgStrArry[4]; } if (appArgStrArry.Length > 5) { usrToken = appArgStrArry[5]; } if (appArgStrArry.Length > 6) { usrPassword = appArgStrArry[6]; } if (appArgStrArry.Length > 7) { invisibleFlag = appArgStrArry[7]; } if (appArgStrArry.Length > 8) { isRedirectedFlag = appArgStrArry[8]; } var passedCultureName = ""; if (args.Length > 2) { passedCultureName = args[2]; } try { var startup = new Startup(appCode); var appStartParamSet = startup.ApplicationStartParamSet; if (appStartParamSet.SupportMultiCultures) { startup.SetCultures(passedCultureName.IsNullOrEmpty() ? appStartParamSet.DefaultCulture : passedCultureName); } CentralData.InitApplicationSettings(appCode, appStartParamSet.SupportMultiCultures, CultureHelper.DefaultLanguageCode, CultureHelper.CurrentLanguageCode, commonParams, appStartParamSet.ApplicationLibDir, appStartParamSet.ApplicationDataDir, appStartParamSet.PhythonExecPath); BootStrapper.Init(appStartParamSet); var uiType = UiType.Winform; if (uiType == UiType.Winform) //--winform starts { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var winformArgsStr = args[1]; var funcArgsArry = winformArgsStr.GetParamArray(true, false); if (funcArgsArry.Length < 2) { goto End; } //##formArgsStr format //###formTypeFlag=0, SviOfZone, SingViewInterfaceOfZone,指单个Zone组成一个窗体 //formTypeFlag^startSviZoneRelativeLocation^startZoneProcessParams //###formTypeFlag=1, SviOfView, SingViewInterfaceOfView, 指单个View组成一个窗体 //formTypeFlag^startSviViewRelativeLocation //###formTypeFlag=2, Mvi, MultipleViewInterface,指多个View组成一个窗体 //formTypeFlag^startFuncCode|startViewName var formTypeFlag = funcArgsArry[0]; var formType = FormType.SviOfZone; if (formTypeFlag == "1" | formTypeFlag.ToLower() == "SviView".ToLower()) { formType = FormType.SviOfView; } else if (formTypeFlag == "2" | formTypeFlag.ToLower() == "Mvi".ToLower()) { formType = FormType.Mvi; } var startSviZoneRelativeLocation = ""; var startZoneProcessParams = ""; var startSviViewRelativeLocation = ""; //--mvi var startFuncCode = ""; var startViewName = ""; if (formType == FormType.SviOfZone) { startSviZoneRelativeLocation = funcArgsArry[1]; if (funcArgsArry.Length > 2) { startZoneProcessParams = funcArgsArry[2]; } if (FileHelper.IsAbsolutePath(startSviZoneRelativeLocation)) { throw new ArgumentException("startSviZoneRelativeLocation can't be an absolute path! "); } if (startSviZoneRelativeLocation.StartsWith("~")) { throw new ArgumentException("startSviZoneRelativeLocation can't contain \"~\"! "); } } else if (formType == FormType.SviOfView) { startSviViewRelativeLocation = funcArgsArry[1]; if (FileHelper.IsAbsolutePath(startSviViewRelativeLocation)) { throw new ArgumentException("startSviViewRelativeLocation can't be an absolute path! "); } if (startSviViewRelativeLocation.StartsWith("~")) { throw new ArgumentException("startSviViewRelativeLocation can't contain \"~\"! "); } } else//--mvi { var tmpArry = funcArgsArry[1].GetSubParamArray(true, false); startFuncCode = tmpArry[0]; startViewName = tmpArry.Length > 1 ? tmpArry[1] : ""; if (startFuncCode.IsNullOrEmpty()) { throw new ArgumentException("startFuncCode can't be empty "); } if (!startFuncCode.IsAlphaNumeralAndHyphen()) { throw new ArgumentException("startFuncCode Name can only includes alpha, numeral and hyphen! "); } if (!startViewName.IsNullOrEmpty() & !startViewName.IsAlphaNumeralAndHyphen()) { throw new ArgumentException("startViewName can only includes alpha numeral and hyphen! "); } } //#subsequent actions by winformArgStr startup.SetApplicationStartPolicy(formType, formType == FormType.Mvi ? startFuncCode : funcArgsArry[1]); if (!appStartParamSet.StyleSheetCode.IsNullOrEmpty()) { //init Ligg.EasyWinApp.WinForm.StyleSheet } //##VerifyStartPassword if (appStartParamSet.VerifyPasswordAtStart) { if (appStartParamSet.PasswordVerificationRule.IsNullOrEmpty()) { throw new ArgumentException("PasswordVerificationRule in ApplicationSettings config file can not be empty! "); } if (!startPassword.IsNullOrEmpty()) { if (!startup.VerifyStartPassword(false, appStartParamSet.PasswordVerificationRule, startPassword)) { goto End; } } else { if (!startup.VerifyStartPassword(true, appStartParamSet.PasswordVerificationRule, startPassword)) { goto End; } } } //##set formInitParamSet var formInitParamSet = new FormInitParamSet(); formInitParamSet.FormType = formType; formInitParamSet.IsFormInvisible = invisibleFlag.GetJudgementFlag() == "true"?true : false; formInitParamSet.ArchitectureCode = CentralData.ArchitectureCode; formInitParamSet.ArchitectureName = CentralData.ArchitectureName; formInitParamSet.ArchitectureVersion = CentralData.ArchitectureVersion; formInitParamSet.OrganizationCode = CentralData.OrganizationCode; formInitParamSet.OrganizationShortName = CentralData.OrganizationShortName; formInitParamSet.OrganizationName = CentralData.OrganizationName; formInitParamSet.ApplicationCode = appCode; formInitParamSet.ApplicationVersion = appStartParamSet.ApplicationVersion; formInitParamSet.FunctionCode = startFuncCode; formInitParamSet.StartViewName = startViewName; formInitParamSet.StartZoneProcessParams = startZoneProcessParams; formInitParamSet.StartSviZoneRelativeLocation = startSviZoneRelativeLocation; formInitParamSet.StartSviViewRelativeLocation = startSviViewRelativeLocation; formInitParamSet.StartPassword = startup.StartPassword; formInitParamSet.FormTitle = formTitle; formInitParamSet.HelpdeskEmail = appStartParamSet.HelpdeskEmail; formInitParamSet.SupportMultiCultures = appStartParamSet.SupportMultiCultures; formInitParamSet.IsRedirected = isRedirectedFlag.ToLower() == "true" ? true : false; formInitParamSet.ApplicationLibDir = appStartParamSet.ApplicationLibDir; formInitParamSet.ApplicationDataDir = appStartParamSet.ApplicationDataDir; formInitParamSet.ApplicationTempDir = appStartParamSet.ApplicationTempDir; formInitParamSet.RunBootStrapperTasksAtStart = appStartParamSet.RunBootStrapperTasksAtStart; formInitParamSet.HasCblpComponent = appStartParamSet.HasCblpComponent; //##ShowSoftwareCover if (appStartParamSet.ShowSoftwareCoverAtStart) { bool showSoftwareCover = isRedirectedFlag.ToLower() != "true"; if (showSoftwareCover) { var isOk = startup.ShowSoftwareCover(formInitParamSet); if (!isOk) { goto End; } } } else { } var logon = false; if (appStartParamSet.LogonAtStart) { logon = true; } //##VerifyUserToken if (logon & !usrCode.IsNullOrEmpty() & !usrToken.IsNullOrEmpty()) { if (startup.VerifyUserToken(usrCode, usrToken)) { logon = false; } } //##VerifyUserPassword else if (logon & !usrCode.IsNullOrEmpty() & !usrPassword.IsNullOrEmpty()) { if (startup.VerifyUserPassword(usrCode, usrToken)) { logon = false; } } //##Logon if (logon) { if (logon) { if (!startup.Logon(formInitParamSet)) { goto End; } } } var form = new StartForm(formInitParamSet); Application.Run(form); } } catch (Exception ex) { MessageHelper.PopupError(EasyWinAppRes.ApplicationStartError, EasyWinAppRes.ApplicationStartError + ": " + ex.Message); } End :; }
internal Startup(string appCode) { try { CentralData.InitCommonSettings(); //*ov- //EncryptionHelper.Key1 = GlobalConfiguration.GlobalKey2; //EncryptionHelper.Key2 = GlobalConfiguration.GlobalKey2; var executableDir = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); _startUpDir = Directory.GetParent(executableDir).ToString(); _startUpDir = Directory.GetParent(_startUpDir).ToString(); _startUpDir = Directory.GetParent(_startUpDir).ToString(); Directory.SetCurrentDirectory(_startUpDir); _cfgDir = _startUpDir + "\\Conf"; var cfgFile = _cfgDir + "\\GlobalSetting"; if (!ConfigFileHelper.IsFileExisting(cfgFile)) { throw new ArgumentException(" Must have a \"GlobalSetting\" config file in " + _cfgDir); } var cfgFileMgr = new ConfigFileManager(cfgFile); var globalSetting = cfgFileMgr.ConvertToGeneric <GlobalSetting>(); _appCfgDir = _cfgDir + "\\Apps\\" + appCode; cfgFile = _appCfgDir + "\\ApplicationSetting"; if (!ConfigFileHelper.IsFileExisting(cfgFile)) { throw new ArgumentException(" Must have a \"ApplicationSetting\" config file in " + _appCfgDir); } cfgFileMgr = new ConfigFileManager(cfgFile); ApplicationStartParamSet = cfgFileMgr.ConvertToGeneric <ApplicationSetting>(); var appDataDir = ""; if (ApplicationStartParamSet.ApplicationDataDir.IsNullOrEmpty()) { appDataDir = _startUpDir + "\\Data\\Apps\\" + appCode; } else { appDataDir = FileHelper.GetFilePath(ApplicationStartParamSet.ApplicationDataDir, _startUpDir + "\\Data" + appCode); } ApplicationStartParamSet.ApplicationDataDir = appDataDir; var appLibDir = ""; if (ApplicationStartParamSet.ApplicationLibDir.IsNullOrEmpty()) { appLibDir = _startUpDir + "\\Lib\\Apps\\" + appCode; } else { appLibDir = FileHelper.GetFilePath(ApplicationStartParamSet.ApplicationLibDir, _startUpDir + "\\Lib" + appCode); } ApplicationStartParamSet.ApplicationLibDir = appLibDir; var appTempDir = ""; if (ApplicationStartParamSet.ApplicationTempDir.IsNullOrEmpty()) { appTempDir = PathHelper.GetLastDriveName() + "\\tmp\\" + CentralData.ArchitectureCode + "\\" + appCode; } else { appTempDir = FileHelper.GetFilePath(ApplicationStartParamSet.ApplicationTempDir, _startUpDir + "\\Data\\" + appCode + "\\Tmp"); } ApplicationStartParamSet.ApplicationTempDir = appTempDir; var cblpDllPath = ""; if (ApplicationStartParamSet.CblpDllPath.IsNullOrEmpty()) { cblpDllPath = _startUpDir + "\\Program\\Apps\\" + appCode + "\\Cblp." + appCode + ".dll"; } else if (ApplicationStartParamSet.CblpDllPath.ToLower() == "none" | ApplicationStartParamSet.CblpDllPath.ToLower() == "no") { cblpDllPath = ""; } else { cblpDllPath = FileHelper.GetFilePath(ApplicationStartParamSet.CblpDllPath, _startUpDir + "\\Program\\Apps\\" + appCode); } ApplicationStartParamSet.CblpDllPath = cblpDllPath; var cblpAdapterFullClassName = ""; if (ApplicationStartParamSet.CblpAdapterClassFullName.IsNullOrEmpty()) { cblpAdapterFullClassName = "Ligg.EasyWinApp.Cblp." + appCode + "Adapter"; } ApplicationStartParamSet.CblpAdapterClassFullName = cblpAdapterFullClassName; //# following exchange data with globalsetting var bootStrapperTasksDllPath = ""; if (globalSetting.BootStrapperTasksDllPath.IsNullOrEmpty()) { bootStrapperTasksDllPath = _startUpDir + "\\Program\\BootStrapperTasks\\" + "BootStrapperTasks" + ".dll"; } else { bootStrapperTasksDllPath = FileHelper.GetFilePath(globalSetting.BootStrapperTasksDllPath, _startUpDir + "\\Program\\BootStrapperTasks"); } ApplicationStartParamSet.BootStrapperTasksDllPath = bootStrapperTasksDllPath; if (globalSetting.BootStrapperTaskNameSpace.IsNullOrEmpty()) { ApplicationStartParamSet.BootStrapperTaskNameSpace = "Ligg.EasyWinApp.BootStrapperTasks"; } if (!globalSetting.PhythonExePath.IsNullOrEmpty()) { var defLoc = Directory.GetParent(appLibDir).ToString(); defLoc = Directory.GetParent(defLoc).ToString(); var phythonExePath = FileHelper.GetFilePath(globalSetting.PhythonExePath, defLoc); ApplicationStartParamSet.PhythonExecPath = phythonExePath; SysProcessHelper.PythonExecPath = phythonExePath; } if (ApplicationStartParamSet.DefaultCulture.IsNullOrEmpty()) { ApplicationStartParamSet.DefaultCulture = globalSetting.DefaultCulture; } if (ApplicationStartParamSet.HelpdeskEmail.IsNullOrEmpty()) { ApplicationStartParamSet.HelpdeskEmail = globalSetting.HelpdeskEmail; } } catch (Exception ex) { throw new ArgumentException("\n>> " + GetType().FullName + ".Startup Error: " + ex.Message); } }
public void SaveData() { // 進行對CentralData存檔 Debug.Log("進行對CentralData存檔"); CentralData.SaveData(); }
void Start() { audioSource.volume = CentralData.GetInst().SFXVol; }
public void SetVol(float v) { CentralData.GetInst().AudioVol = v; source.volume = v; }
static void Main(string[] args) { if (args.Length == 0) { var debugIniDir = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); var debugIniPath = debugIniDir + "\\Debug.ini"; if (File.Exists(debugIniPath)) { string debugIniArgsStr = IniFileHelper.ReadIniString(debugIniPath, "setting", "args", ""); args = debugIniArgsStr.Split(' '); } } if (args.Length < 2) { goto End; } //# appArgStr format //appCode ^formTitle^commonParams^startPassword^usrCode^userPassword^usrToken^invisibleFlag ^ isRedirectedFlag //#ov- //# appArgStr = EncryptionHelper.SmDecrypt(args[0],EncryptionHelper.GlobalKey1,EncryptionHelper.GlobalKey2); var appArgStrArry = args[0].GetParamArray(true, false); var appCode = appArgStrArry[0]; var formTitle = ""; var commonParams = ""; var startPassword = ""; var usrCode = ""; var usrPassword = ""; var usrToken = ""; var invisibleFlag = ""; var isRedirectedFlag = ""; if (appArgStrArry.Length > 1) { formTitle = appArgStrArry[1]; } if (appArgStrArry.Length > 2) { commonParams = appArgStrArry[2]; } if (appArgStrArry.Length > 3) { startPassword = appArgStrArry[3]; } if (appArgStrArry.Length > 4) { usrCode = appArgStrArry[4]; } if (appArgStrArry.Length > 5) { usrToken = appArgStrArry[5]; } if (appArgStrArry.Length > 6) { usrPassword = appArgStrArry[6]; } if (appArgStrArry.Length > 7) { invisibleFlag = appArgStrArry[7]; } if (appArgStrArry.Length > 8) { isRedirectedFlag = appArgStrArry[8]; } var passedCultureName = ""; if (args.Length > 2) { passedCultureName = args[2]; } try { ConsoleHelper.DisbleQuickEditMode(); var startup = new Startup(appCode); var appStartParamSet = startup.ApplicationStartParamSet; if (appStartParamSet.SupportMultiCultures) { startup.SetCultures(passedCultureName.IsNullOrEmpty() ? appStartParamSet.DefaultCulture : passedCultureName); } CentralData.InitApplicationSettings(appCode, appStartParamSet.SupportMultiCultures, CultureHelper.DefaultLanguageCode, CultureHelper.CurrentLanguageCode, commonParams , appStartParamSet.ApplicationLibDir, appStartParamSet.ApplicationDataDir, appStartParamSet.PhythonExecPath); BootStrapper.Init(appStartParamSet); appStartParamSet.Invisible = invisibleFlag; var winCnslArgStr = args[1]; var winCnslArgStrArry = winCnslArgStr.GetParamArray(true, false); if (winCnslArgStrArry.Length < 1) { goto End; } //## funcArgs format //startScenarioRelativeLocation^startScenarioProcessParams var startScenarioRelativeLocation = winCnslArgStrArry[0]; if (FileHelper.IsAbsolutePath(startScenarioRelativeLocation)) { throw new ArgumentException("startScenarioRelativeLocation can't be an absolute path! "); } if (startScenarioRelativeLocation.StartsWith("~")) { throw new ArgumentException("startScenarioRelativeLocation can't contain \"~\"! "); } var startScenarioProcessParams = ""; if (winCnslArgStrArry.Length > 1) { startScenarioProcessParams = winCnslArgStrArry[1]; } startup.SetApplicationStartPolicy(startScenarioRelativeLocation); //##VerifyStartPassword if (appStartParamSet.VerifyPasswordAtStart) { if (appStartParamSet.PasswordVerificationRule.IsNullOrEmpty()) { throw new ArgumentException("PasswordVerificationRule in ApplicationSetting config file can not be empty! "); } if (!startPassword.IsNullOrEmpty()) { if (!startup.VerifyStartPassword(false, appStartParamSet.PasswordVerificationRule, startPassword)) { goto End; } } else { if (!startup.VerifyStartPassword(true, appStartParamSet.PasswordVerificationRule, startPassword)) { goto End; } } Console.Clear(); } //##set formInitParamSet var formInitParamSet = new FormInitParamSet(); formInitParamSet.ArchitectureCode = CentralData.ArchitectureCode; formInitParamSet.ArchitectureName = CentralData.ArchitectureName; formInitParamSet.ArchitectureVersion = CentralData.ArchitectureVersion; formInitParamSet.OrganizationCode = CentralData.OrganizationCode; formInitParamSet.OrganizationShortName = CentralData.OrganizationShortName; formInitParamSet.OrganizationName = CentralData.OrganizationName; formInitParamSet.InvisibleFlag = appStartParamSet.Invisible; formInitParamSet.ApplicationCode = appCode; formInitParamSet.ApplicationVersion = appStartParamSet.ApplicationVersion ?? ""; formInitParamSet.StartScenarioRelativeLocation = startScenarioRelativeLocation; //formInitParamSet.StartCommonParams = startCommonParams; //? required? it can be get from CentralData formInitParamSet.StartScenarioProcessParams = startScenarioProcessParams; formInitParamSet.StartPassword = startup.StartPassword; formInitParamSet.FormTitle = formTitle; formInitParamSet.HelpdeskEmail = appStartParamSet.HelpdeskEmail; formInitParamSet.SupportMultiCultures = appStartParamSet.SupportMultiCultures; formInitParamSet.IsRedirected = isRedirectedFlag.ToLower() == "true" ? true : false; formInitParamSet.ApplicationLibDir = appStartParamSet.ApplicationLibDir; formInitParamSet.ApplicationDataDir = appStartParamSet.ApplicationDataDir; formInitParamSet.ApplicationTempDir = appStartParamSet.ApplicationTempDir; formInitParamSet.RunBootStrapperTasksAtStart = appStartParamSet.RunBootStrapperTasksAtStart; formInitParamSet.HasCblpComponent = appStartParamSet.HasCblpComponent; //var cblpDllPath = appStartParamSet.CblpDllPath; //if (!cblpDllPath.IsNullOrEmpty()) ApplicationAdapter.Init1(debug, cblpDllPath, appStartParamSet.CblpAdapterClassFullName); //##ShowSoftwareCover if (appStartParamSet.ShowSoftwareCoverAtStart) { bool showSoftwareCover = isRedirectedFlag.ToLower() != "true"; if (showSoftwareCover) { var isOk = startup.ShowSoftwareCover(formInitParamSet); if (!isOk) { goto End; } } } var logon = false; if (appStartParamSet.LogonAtStart) { logon = true; } //##VerifyUserToken if (logon & !usrCode.IsNullOrEmpty() & !usrToken.IsNullOrEmpty()) { if (startup.VerifyUserToken(usrCode, usrToken)) { logon = false; } } //##VerifyUserPassword else if (logon & !usrCode.IsNullOrEmpty() & !usrPassword.IsNullOrEmpty()) { if (startup.VerifyUserPassword(usrCode, usrToken)) { logon = false; } } //##Logon if (logon) { if (logon) { if (!startup.Logon(formInitParamSet)) { goto End; } } } var form = new FunctionForm(formInitParamSet); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(EasyWinAppRes.PressAnyKeyToExit + " !"); Console.ReadKey(); ConsoleHelper.CloseConsole(); } End :; }