コード例 #1
0
    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;
    }
コード例 #2
0
    // 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;
    }
コード例 #3
0
ファイル: AudioMgr.cs プロジェクト: vulbl70117/UI
    // Start is called before the first frame update
    void Start()
    {
        //source = this.GetComponent<AudioSource>();

        // 初始
        source.volume = CentralData.GetInst().AudioVol;
    }
コード例 #4
0
ファイル: SaveNLoad.cs プロジェクト: CHEN-SKY0105/TeamProject
 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);
 }
コード例 #5
0
ファイル: AudioMgr.cs プロジェクト: vulbl70117/UI
 public float GetVol()
 {
     if (CentralData.GetInst().AudioVol != source.volume)
     {
         source.volume = CentralData.GetInst().AudioVol;
     }
     return(source.volume);
 }
コード例 #6
0
 void Start()
 {
     playerControl    = FindObjectOfType <PlayerControl>();
     gameMenu         = FindObjectOfType <GameMenu>();
     spriteRenderer   = GetComponent <SpriteRenderer>();
     SFXSource        = GetComponentInParent <AudioSource>();
     SFXSource.volume = CentralData.GetInst().SFXVol;
 }
コード例 #7
0
 private uint nowprocess = 0;  // 當前進度,控制Slider的百分比
 // 定義一個協程
 public void LoadLevel(int sceneIndex)
 {
     CentralData.GetInst();
     //指定要讀取的場景
     async = SceneManager.LoadSceneAsync(1);
     //設定讀取完後不能自動跳場景
     async.allowSceneActivation = false;
 }
コード例 #8
0
    public static CentralData LoadData()
    {
        string jstr = File.ReadAllText(path + filename);

        CentralData data = JsonUtility.FromJson <CentralData>(jstr);

        Debug.Log("讀檔成功");
        return(data);
    }
コード例 #9
0
ファイル: CentralData.cs プロジェクト: vulbl70117/UI
    public static CentralData LoadData()
    {
        // 讀檔
        string jstr = File.ReadAllText(path + filename);
        // json轉物件
        CentralData data = JsonUtility.FromJson <CentralData>(jstr);

        return(data);
    }
コード例 #10
0
 void Start()
 {
     characterBase = FindObjectOfType <CharacterBase>();
     dust          = CentralData.GetInst().dust;
     playerHealth  = maxHp;
     uIBarControl.SetMaxHealth(maxHp);    //UI身上的血條
     healthbarongame.SetMaxHealth(maxHp); //人物身上的血條
     RD = GetComponent <Rigidbody>();
 }
コード例 #11
0
ファイル: SlotPlayer.cs プロジェクト: vulbl70117/UI
    public void ChooseMe()
    {
        Toggle tg = this.GetComponent <Toggle>();

        if (tg.isOn)
        {
            CentralData.GetInst().Player = PokeName;
            Debug.Log(CentralData.GetInst().Player);
        }
    }
コード例 #12
0
 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();
     }
 }
コード例 #13
0
 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);
 }
コード例 #14
0
ファイル: CentralData.cs プロジェクト: vulbl70117/UI
    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);
    }
コード例 #15
0
ファイル: CentralData.cs プロジェクト: vulbl70117/UI
 public static CentralData GetInst()
 {
     if (mInstance == null)
     {
         if (File.Exists(path + filename))
         {
             mInstance = LoadData();
         }
         else
         {
             mInstance = new CentralData();
         }
     }
     return(mInstance);
 }
コード例 #16
0
 public static CentralData GetInst()//靜態成員與GetInst()方法
 {
     //判斷是否有中繼點
     if (mInstance == null)
     {
         if (File.Exists(path + filename))
         {   //讀取中繼點
             mInstance = LoadData();
         }
         else
         {   //新增一個中繼點
             mInstance = new CentralData();
         }
     }
     return(mInstance);
 }
コード例 #17
0
    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("存檔成功");
    }
コード例 #18
0
ファイル: SaveNLoad.cs プロジェクト: CHEN-SKY0105/TeamProject
 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();
 }
コード例 #19
0
 //public GameObject explosionEffect;
 void Start()
 {
     audioSource        = GetComponent <AudioSource>();
     audioSource.volume = CentralData.GetInst().SFXVol;
     Destroy(gameObject, DestroyTime);
 }
コード例 #20
0
ファイル: SlotPlayer.cs プロジェクト: vulbl70117/UI
 public void ChooseEnemy()
 {
     CentralData.GetInst().Enemy = PokeName;
     Debug.Log(CentralData.GetInst().Enemy);
     SceneManager.LoadScene("Game");
 }
コード例 #21
0
 public AudioClip SFX;    //音效
 void Start()
 {
     audioSource        = GetComponent <AudioSource>();
     audioSource.volume = CentralData.GetInst().SFXVol;
 }
コード例 #22
0
        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 :;
        }
コード例 #23
0
        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);
            }
        }
コード例 #24
0
ファイル: MainMenu.cs プロジェクト: vulbl70117/UI
 public void SaveData()
 {
     // 進行對CentralData存檔
     Debug.Log("進行對CentralData存檔");
     CentralData.SaveData();
 }
コード例 #25
0
 void Start()
 {
     audioSource.volume = CentralData.GetInst().SFXVol;
 }
コード例 #26
0
ファイル: AudioMgr.cs プロジェクト: vulbl70117/UI
 public void SetVol(float v)
 {
     CentralData.GetInst().AudioVol = v;
     source.volume = v;
 }
コード例 #27
0
ファイル: Program.cs プロジェクト: Liggin2019/Ligg.EasyWinApp
        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 :;
        }