private bool Durdur() { try { #if UUNNIITTYY if (Mutex_ != null) { Mutex_.Close(); Mutex_ = null; } #else if (Mutex_ != null) { Mutex_.Dispose(); Mutex_ = null; } #endif if (Zamanlayıcı != null) { Zamanlayıcı.Dispose(); Zamanlayıcı = null; } if (Karmaşıklaştırma != null) { Karmaşıklaştırma.Dispose(); Karmaşıklaştırma = null; } if (AyarlarDalı != null) { AyarlarDalı.RemoveAll(); AyarlarDalı = null; } if (Döküman != null) { Döküman.RemoveAll(); Döküman = null; } return(true); } catch (Exception) { return(false); } }
public bool YenidenBaşlat(string AyarlarİçinParola = "", string AyarlarDosyası = "", bool Izin_AltDallarıdaKarıştır = false, int Süre_DeğişiklikleriKaydetmeAralığı_Sn = 30, int Süre_KaynaklarıBoşaltmaAralığı_Dk = 30) { try { Dispose(); disposedValue = false; #if UUNNIITTYY #if UNITY_EDITOR AyarlarDosyası = AyarlarDosyası.Replace('/', '\\'); #endif AyarlarDosyasıYolu = AyarlarDosyası; #else if (AyarlarDosyası == "") { AyarlarDosyasıYolu = GetType().Assembly.Location + ".Ayarlar"; } else if (AyarlarDosyası.Contains("\\")) { AyarlarDosyasıYolu = AyarlarDosyası; } else { AyarlarDosyasıYolu = Path.GetDirectoryName(GetType().Assembly.Location) + "\\" + AyarlarDosyası + ".Ayarlar"; } #endif if (!File.Exists(AyarlarDosyasıYolu)) { if (!Directory.Exists(Path.GetDirectoryName(AyarlarDosyasıYolu))) { Directory.CreateDirectory(Path.GetDirectoryName(AyarlarDosyasıYolu)); } FileStream gecici = File.Create(AyarlarDosyasıYolu); gecici.Close(); File.Delete(AyarlarDosyasıYolu); } } catch (Exception) { AyarlarDosyasıYolu = ""; } if (string.IsNullOrEmpty(AyarlarİçinParola)) { Parola = ""; AltDallarıdaKarıştır = false; } else { Parola = AyarlarİçinParola; AltDallarıdaKarıştır = Izin_AltDallarıdaKarıştır; if (Karmaşıklaştırma == null) { Karmaşıklaştırma = new DahaCokKarmasiklastirma_(); } } DeğişiklikleriKaydetmeAralığı_Sn = Süre_DeğişiklikleriKaydetmeAralığı_Sn; KaynaklarıBoşaltmaAralığı_Dk = Süre_KaynaklarıBoşaltmaAralığı_Dk; try { Döküman = new XmlDocument(); if (!File.Exists(AyarlarDosyasıYolu)) { XmlElement AnaKatman = Döküman.CreateElement("AnaKatman"); XmlElement Kendi = Döküman.CreateElement("Kendi"); XmlElement Kendi_1 = Döküman.CreateElement("Olusturulma"); Kendi_1.InnerText = DateTime.Now.ToString(); XmlElement Kendi_2 = Döküman.CreateElement("Konum"); Kendi_2.InnerText = AyarlarDosyasıYolu; XmlElement Kendi_3 = Döküman.CreateElement("Surum"); Kendi_3.InnerText = Sürüm; XmlElement Kendi_4 = Döküman.CreateElement("BilgisayarVeKullanıcıAdı"); Kendi_4.InnerText = Environment.MachineName + "/" + Environment.UserName; Kendi.AppendChild(Kendi_1); Kendi.AppendChild(Kendi_2); Kendi.AppendChild(Kendi_3); Kendi.AppendChild(Kendi_4); XmlElement Uygulama = Döküman.CreateElement("Uygulama"); XmlElement Uygulama_1 = Döküman.CreateElement("Ad"); #if UUNNIITTYY Uygulama_1.InnerText = UnityEngine.Application.productName; #else Uygulama_1.InnerText = System.Windows.Forms.Application.ProductName; #endif XmlElement Uygulama_2 = Döküman.CreateElement("Surum"); #if UUNNIITTYY Uygulama_2.InnerText = "V" + UnityEngine.Application.version; #else Uygulama_2.InnerText = "V" + System.Windows.Forms.Application.ProductVersion; #endif Uygulama.AppendChild(Uygulama_1); Uygulama.AppendChild(Uygulama_2); XmlElement Ayarlar = Döküman.CreateElement("Ayarlar"); XmlElement DogrulamaKontrolu = Döküman.CreateElement("DogrulamaKontrolu"); XmlElement DogrulamaKontrolu_1 = Döküman.CreateElement("ButunlukKontrolu"); DogrulamaKontrolu_1.InnerText = D_HexMetin.BaytDizisinden(D_GeriDönülemezKarmaşıklaştırmaMetodu.BaytDizisinden(D_Metin.BaytDizisine(Ayarlar.OuterXml), 32)); XmlElement DogrulamaKontrolu_2 = Döküman.CreateElement("ParolaKontrolu"); if (Parola == "") { DogrulamaKontrolu_2.InnerText = "ParolaKontroluBilgisi"; } else { DogrulamaKontrolu_2.InnerText = Karmaşıklaştırma.Karıştır("ParolaKontroluBilgisi", Parola); } DogrulamaKontrolu.AppendChild(DogrulamaKontrolu_1); DogrulamaKontrolu.AppendChild(DogrulamaKontrolu_2); AnaKatman.AppendChild(Kendi); AnaKatman.AppendChild(Uygulama); AnaKatman.AppendChild(Ayarlar); AnaKatman.AppendChild(DogrulamaKontrolu); Döküman.AppendChild(AnaKatman); Döküman.Save(AyarlarDosyasıYolu); } if (EtkinMi()) { return(true); } } catch (Exception) { } Durdur(); return(false); }