示例#1
0
        public MainWindow()
        {
            var ExecutingDirectory = System.IO.Directory.GetParent(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));

            Client.ExecutingDirectory = ExecutingDirectory.ToString().Replace("file:\\", "");

            InitializeComponent();
            Client.PVPNet = new PVPNetConnect.PVPNetConnection();
            Client.PVPNet.KeepDelegatesOnLogout = false;
            Client.ChatClient                    = new JabberClient();
            Client.chatPage                      = new ChatPage();
            ChatContainer.Content                = Client.chatPage.Content;
            Client.notificationPage              = new NotificationPage();
            NotificationContainer.Content        = Client.notificationPage.Content;
            Client.statusPage                    = new StatusPage();
            StatusContainer.Content              = Client.statusPage.Content;
            NotificationOverlayContainer.Content = new FakePage().Content;

            Grid NotificationTempGrid = null;

            foreach (var x in NotificationOverlayContainer.GetChildObjects())
            {
                if (x is Grid)
                {
                    NotificationTempGrid = x as Grid;
                }
            }

            Client.Pages           = new List <Page>();
            Client.Container       = Container;
            Client.BackgroundImage = BackImage;
            Client.SwitchPage(new PatcherPage());
        }
示例#2
0
        public MainWindow()
        {
            InitializeComponent();

            SwitchPage.Visibility     = Visibility.Hidden;
            Client.ExecutingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

            LCLog.WriteToLog.ExecutingDirectory = Client.ExecutingDirectory;
            LCLog.WriteToLog.LogfileName        = "LegendaryClient.Log";
            LCLog.WriteToLog.CreateLogFile();
            AppDomain.CurrentDomain.FirstChanceException += LCLog.Log.CurrentDomain_FirstChanceException;
            AppDomain.CurrentDomain.UnhandledException   += LCLog.Log.AppDomain_CurrentDomain;
#if !DEBUG
#endif

            Client.InfoLabel = InfoLabel;
            Client.StartHeartbeat();
            Client.PVPNet = new PVPNetConnection();
            Client.PVPNet.KeepDelegatesOnLogout = false;
            Client.PVPNet.OnError += Client.PVPNet_OnError;

            Steel = new Accent("Steel", new Uri("pack://application:,,,/LegendaryClient;component/Controls/Steel.xaml"));
            if (Properties.Settings.Default.DarkTheme)
            {
                ThemeManager.ChangeTheme(this, Steel, Theme.Dark);
            }

            Client.ChatClient       = new JabberClient();
            ChatContainer.Content   = new ChatPage().Content;
            StatusContainer.Content = new StatusPage().Content;
            NotificationOverlayContainer.Content = new FakePage().Content;

            Grid NotificationTempGrid = null;
            foreach (var x in NotificationOverlayContainer.GetChildObjects())
            {
                if (x is Grid)
                {
                    NotificationTempGrid = x as Grid;
                }
            }

            Client.PlayButton                   = PlayButton;
            Client.Pages                        = new List <Page>();
            Client.MainGrid                     = MainGrid;
            Client.NotificationGrid             = NotificationTempGrid;
            Client.MainWin                      = this;
            Client.Container                    = Container;
            Client.OverlayContainer             = OverlayContainer;
            Client.ChatContainer                = ChatContainer;
            Client.StatusContainer              = StatusContainer;
            Client.LobbyButton                  = SwitchPage;
            Client.NotificationOverlayContainer = NotificationOverlayContainer;
            Client.SoundPlayer                  = SoundPlayer;
            Client.AmbientSoundPlayer           = ASoundPlayer;
            Client.SwitchPage(new PatcherPage());

            this.Closing += new System.ComponentModel.CancelEventHandler(this.MainWindow_Closing);
        }
        public MainWindow()
        {
            InitializeComponent();
            Client.ExecutingDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            //Set up logging before we do anything
            AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException;
            if (File.Exists(Path.Combine(Client.ExecutingDirectory, "lcdebug.log")))
            {
                File.Delete(Path.Combine(Client.ExecutingDirectory, "lcdebug.log"));
            }

            Client.InfoLabel = InfoLabel;
            Client.StartHeartbeat();

            Steel = new Accent("Steel", new Uri("pack://application:,,,/LegendaryClient;component/Controls/Steel.xaml"));
            if (Properties.Settings.Default.DarkTheme)
            {
                ThemeManager.ChangeTheme(this, Steel, Theme.Dark);
            }

            Client.ChatClient       = new JabberClient();
            ChatContainer.Content   = new ChatPage().Content;
            StatusContainer.Content = new StatusPage().Content;
            NotificationOverlayContainer.Content = new FakePage().Content;
            NotificationContainer.Content        = new NotificationsPage().Content;

            Grid NotificationTempGrid = null;

            foreach (var x in NotificationOverlayContainer.GetChildObjects())
            {
                if (x is Grid)
                {
                    NotificationTempGrid = x as Grid;
                }
            }

            Client.PlayButton                   = PlayButton;
            Client.Pages                        = new List <Page>();
            Client.MainGrid                     = MainGrid;
            Client.NotificationGrid             = NotificationTempGrid;
            Client.MainWin                      = this;
            Client.Container                    = Container;
            Client.OverlayContainer             = OverlayContainer;
            Client.ChatContainer                = ChatContainer;
            Client.StatusContainer              = StatusContainer;
            Client.NotificationContainer        = NotificationContainer;
            Client.NotificationOverlayContainer = NotificationOverlayContainer;
            Client.SwitchPage(new PatcherPage());
        }
示例#4
0
        private void InitializeGui()
        {
            ReturnToPage.Visibility  = Visibility.Hidden;
            Client.UserTitleBarLabel = UserTitleBarLabel;
            Client.UserTitleBarImage = UserTitleBarImage;
            Client.InfoLabel         = InfoLabel;


            if (string.IsNullOrEmpty(Settings.Default.Theme))
            {
                Settings.Default.Theme = "pack://application:,,,/LegendaryClient;component/Controls/Steel.xaml";
            }
            _myAccent = new Accent("AccentName", new Uri(Settings.Default.Theme));
            ThemeManager.ChangeAppStyle(this,
                                        _myAccent,
                                        (Settings.Default.DarkTheme)
                    ? ThemeManager.GetAppTheme("BaseDark")
                    : ThemeManager.GetAppTheme("BaseLight"));

            ChatContainer.Content = Client.FriendList.Content;

            Client.notificationPage       = new NotificationPage();
            NotificationContainer.Content = Client.notificationPage.Content;

            Client.statusPage       = new StatusPage();
            StatusContainer.Content = Client.statusPage.Content;

            NotificationOverlayContainer.Content = new Grid();
            Grid notificationTempGrid = null;

            foreach (var x in NotificationOverlayContainer.GetChildObjects().OfType <Grid>())
            {
                notificationTempGrid = x;
            }

            ChangeTheme();

            Client.FullNotificationOverlayContainer = FullNotificationOverlayContainer;
            Client.PlayButton                   = PlayButton;
            Client.Pages                        = new List <Page>();
            Client.MainGrid                     = MainGrid;
            Client.BackgroundImage              = BackImage;
            Client.NotificationGrid             = notificationTempGrid;
            Client.MainWin                      = this;
            Client.Container                    = Container;
            Client.OverlayContainer             = OverlayContainer;
            Client.OverOverlayContainer         = OverOverlayContainer;
            Client.NotificationContainer        = NotificationContainer;
            Client.ChatContainer                = ChatContainer;
            Client.StatusContainer              = StatusContainer;
            Client.ReturnButton                 = ReturnToPage;
            Client.inQueueTimer                 = inQueueTimer;
            Client.NotificationOverlayContainer = NotificationOverlayContainer;
            Client.SoundPlayer                  = SoundPlayer;
            Client.AmbientSoundPlayer           = ASoundPlayer;
            Client.SwitchPage(new PatcherPage());

            if (!string.IsNullOrEmpty(Settings.Default.LoginPageImage) && Settings.Default.UseAsBackgroundImage)
            {
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Settings.Default.LoginPageImage.Replace("\r\n", ""))))
                {
                    Client.BackgroundImage.Source =
                        new BitmapImage(new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Settings.Default.LoginPageImage), UriKind.Absolute));
                }
            }

            // screen resolution fix: because MainWindow height is bigger than some screen height
            if (SystemParameters.WorkArea.Height < Height)
            {
                // resize LC to MinHeight -- a UI designer may edit this
                SizeToContent = SizeToContent.Manual;
                Width         = MinWidth;
                Height        = MinHeight;
            }
        }
        public MainWindow()
        {
            System.Diagnostics.PresentationTraceSources.DataBindingSource.Switch.Level        = System.Diagnostics.SourceLevels.Critical;
            System.Diagnostics.PresentationTraceSources.ResourceDictionarySource.Switch.Level = System.Diagnostics.SourceLevels.Critical;
            InitializeComponent();
            ReturnToPage.Visibility = Visibility.Hidden;
            //Client.ExecutingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            //Keep this this way that way the auto updator knows what to update
            var ExecutingDirectory = System.IO.Directory.GetParent(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));

            Client.ExecutingDirectory           = ExecutingDirectory.ToString().Replace("file:\\", "");
            LCLog.WriteToLog.ExecutingDirectory = Client.ExecutingDirectory;
            LCLog.WriteToLog.LogfileName        = "LegendaryClient.Log";
            LCLog.WriteToLog.CreateLogFile();
            AppDomain.CurrentDomain.FirstChanceException += LCLog.Log.CurrentDomain_FirstChanceException;
            AppDomain.CurrentDomain.UnhandledException   += LCLog.Log.AppDomain_CurrentDomain;

            Client.InfoLabel = InfoLabel;
            Client.PVPNet    = new PVPNetConnection();
            Client.PVPNet.KeepDelegatesOnLogout = false;
            Client.PVPNet.OnError += Client.PVPNet_OnError;
            if (String.IsNullOrEmpty(Properties.Settings.Default.Theme))
            {
                Properties.Settings.Default.Theme = "pack://application:,,,/LegendaryClient;component/Controls/Steel.xaml";
            }
            myAccent = new Accent("AccentName", new Uri(Properties.Settings.Default.Theme));
            ThemeManager.ChangeTheme(this, myAccent, (Properties.Settings.Default.DarkTheme) ? Theme.Dark : Theme.Light);

            Client.ChatClient                    = new JabberClient();
            Client.FriendList                    = new FriendList();
            ChatContainer.Content                = Client.FriendList.Content;
            Client.notificationPage              = new NotificationPage();
            NotificationContainer.Content        = Client.notificationPage.Content;
            Client.statusPage                    = new StatusPage();
            StatusContainer.Content              = Client.statusPage.Content;
            NotificationOverlayContainer.Content = new FakePage().Content;

            Grid NotificationTempGrid = null;

            foreach (var x in NotificationOverlayContainer.GetChildObjects())
            {
                if (x is Grid)
                {
                    NotificationTempGrid = x as Grid;
                }
            }

            Client.PlayButton                   = PlayButton;
            Client.Pages                        = new List <Page>();
            Client.MainGrid                     = MainGrid;
            Client.BackgroundImage              = BackImage;
            Client.NotificationGrid             = NotificationTempGrid;
            Client.MainWin                      = this;
            Client.Container                    = Container;
            Client.OverlayContainer             = OverlayContainer;
            Client.NotificationContainer        = NotificationContainer;
            Client.ChatContainer                = ChatContainer;
            Client.StatusContainer              = StatusContainer;
            Client.ReturnButton                 = ReturnToPage;
            Client.NotificationOverlayContainer = NotificationOverlayContainer;
            Client.SoundPlayer                  = SoundPlayer;
            Client.AmbientSoundPlayer           = ASoundPlayer;
            Client.SwitchPage(new PatcherPage());

            if (!String.IsNullOrEmpty(Properties.Settings.Default.LoginPageImage) && Properties.Settings.Default.UseAsBackgroundImage)
            {
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Properties.Settings.Default.LoginPageImage.Replace("\r\n", ""))))
                {
                    Client.BackgroundImage.Source = new BitmapImage(new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Properties.Settings.Default.LoginPageImage), UriKind.Absolute));
                }
            }
        }
        public MainWindow(StartupEventArgs e)
        {
            PresentationTraceSources.DataBindingSource.Switch.Level        = System.Diagnostics.SourceLevels.Critical;
            PresentationTraceSources.ResourceDictionarySource.Switch.Level = System.Diagnostics.SourceLevels.Critical;
            InitializeComponent();
            ReturnToPage.Visibility = Visibility.Hidden;
            //Client.ExecutingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            //Keep this this way that way the auto updator knows what to update
            var ExecutingDirectory = Directory.GetParent(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));

            Client.ExecutingDirectory = ExecutingDirectory.ToString().Replace("file:\\", "");
            var key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("LegendaryClient");

            if (key != null)
            {
                key.SetValue("LCLocation", Client.ExecutingDirectory);
                key.Close();
            }
            if (Directory.Exists(Path.Combine(Client.ExecutingDirectory, "GarenaClient")))
            {
                var regKey         = Registry.CurrentUser.CreateSubKey("LegendaryClient");
                var val            = regKey.GetValue("GarenaLocation").ToString();
                var garenaLocation = Path.Combine(Path.GetDirectoryName(val), "Air");
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "GarenaClient", "LolClient.exe.real")))
                {
                    if (File.Exists(Path.Combine(garenaLocation, "LolClient.exe")))
                    {
                        File.Delete(Path.Combine(garenaLocation, "LolClient.exe"));
                    }
                    File.Move(Path.Combine(Client.ExecutingDirectory, "GarenaClient", "LolClient.exe.real"), Path.Combine(garenaLocation, "LolClient.exe"));
                }
                Directory.Delete(Path.Combine(Client.ExecutingDirectory, "GarenaClient"));
            }

            LCLog.WriteToLog.ExecutingDirectory = Client.ExecutingDirectory;
            LCLog.WriteToLog.LogfileName        = "LegendaryClient.Log";
            LCLog.WriteToLog.CreateLogFile();
            if (Client.Authenticate(Settings.Default.devKeyLoc, false))
            {
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "DevWin", "LCDevWindow.exe")))
                {
                    StartPipe();
                    AppDomain.CurrentDomain.UnhandledException   += CurrentDomain_UnhandledException;
                    AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException;
                    Process.Start(Path.Combine(Client.ExecutingDirectory, "DevWin", "LCDevWindow.exe"));
                }
            }
            AppDomain.CurrentDomain.FirstChanceException += LCLog.Log.CurrentDomain_FirstChanceException;
            AppDomain.CurrentDomain.UnhandledException   += LCLog.Log.AppDomain_CurrentDomain;

            Client.InfoLabel = InfoLabel;
            Client.PVPNet    = new PVPNetConnection {
                KeepDelegatesOnLogout = false
            };
            Client.PVPNet.OnError += Client.PVPNet_OnError;
            if (String.IsNullOrEmpty(Settings.Default.Theme))
            {
                Properties.Settings.Default.Theme = "pack://application:,,,/LegendaryClient;component/Controls/Steel.xaml";
            }
            myAccent = new Accent("AccentName", new Uri(Settings.Default.Theme));
            ThemeManager.ChangeTheme(this, myAccent, (Settings.Default.DarkTheme) ? Theme.Dark : Theme.Light);

            Client.ChatClient = new JabberClient();
            Client.FriendList = new FriendList();
            if (Properties.Settings.Default.incognitoLogin)
            {
                Client.FriendList.PresenceChanger.SelectedItem = "Invisible";
                Client.presenceStatus  = "";
                Client.CurrentPresence = PresenceType.invisible;
            }
            else
            {
                Client.FriendList.PresenceChanger.SelectedItem = "Online";
                Client.presenceStatus  = "chat";
                Client.CurrentPresence = PresenceType.available;
            }
            ChatContainer.Content                = Client.FriendList.Content;
            Client.notificationPage              = new NotificationPage();
            NotificationContainer.Content        = Client.notificationPage.Content;
            Client.statusPage                    = new StatusPage();
            StatusContainer.Content              = Client.statusPage.Content;
            NotificationOverlayContainer.Content = new FakePage().Content;

            Grid NotificationTempGrid = null;

            foreach (var x in NotificationOverlayContainer.GetChildObjects().OfType <Grid>())
            {
                NotificationTempGrid = x;
            }

            Client.FullNotificationOverlayContainer = FullNotificationOverlayContainer;
            Client.PlayButton                   = PlayButton;
            Client.Pages                        = new List <Page>();
            Client.MainGrid                     = MainGrid;
            Client.BackgroundImage              = BackImage;
            Client.NotificationGrid             = NotificationTempGrid;
            Client.MainWin                      = this;
            Client.Container                    = Container;
            Client.OverlayContainer             = OverlayContainer;
            Client.OverOverlayContainer         = OverOverlayContainer;
            Client.NotificationContainer        = NotificationContainer;
            Client.ChatContainer                = ChatContainer;
            Client.StatusContainer              = StatusContainer;
            Client.ReturnButton                 = ReturnToPage;
            Client.inQueueTimer                 = inQueueTimer;
            Client.NotificationOverlayContainer = NotificationOverlayContainer;
            Client.SoundPlayer                  = SoundPlayer;
            Client.AmbientSoundPlayer           = ASoundPlayer;
            Client.SwitchPage(new PatcherPage());

            if (!String.IsNullOrEmpty(Settings.Default.LoginPageImage) && Properties.Settings.Default.UseAsBackgroundImage)
            {
                if (File.Exists(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Properties.Settings.Default.LoginPageImage.Replace("\r\n", ""))))
                {
                    Client.BackgroundImage.Source = new BitmapImage(new Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "champions", Properties.Settings.Default.LoginPageImage), UriKind.Absolute));
                }
            }
        }