示例#1
0
        private static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Arguments:");
                Console.WriteLine("\t-c : Compile Main File");
                Console.WriteLine("\t-clean : Clean Build Directory");
                Console.WriteLine("\t-r : Run Dynamic Commandline");
                Console.WriteLine("\t-o : Optimize Assembly");
                Console.WriteLine("\t-d : Debug(Make all labels and data sections visible)");

                return;
            }

            bool compile   = args.Any(x => x == "-c");
            bool clean     = args.Any(x => x == "-clean");
            bool run       = args.Any(x => x == "-r");
            bool optimized = args.Any(x => x == "-o");
            bool debug     = args.Any(x => x == "-d");

            FirstSetup.Start();

            LinkerSettings linkerSettings = SettingsManager.GetSettings <LinkerSettings>();

            linkerSettings.NoHiddenItems = debug;
            SettingsManager.SaveSettings(linkerSettings);

            AssemblyGeneratorSettings gsettings = SettingsManager.GetSettings <AssemblyGeneratorSettings>();

            gsettings.Format = "v1"; //Set Raw Assembly Mode
            SettingsManager.SaveSettings(gsettings);

            HlCompilerSettings settings = SettingsManager.GetSettings <HlCompilerSettings>();

            settings.OptimizeAll = optimized;
            SettingsManager.SaveSettings(settings);

            string output = null;

            output = compile ? VisHelper.Compile(clean) : FirstSetup.DefaultFile;

            if (run)
            {
                if (output == null)
                {
                    Console.WriteLine($"Output file error.");

                    FirstSetup.End(EndOptions.Default);

                    return;
                }

                ConsoleLoop(output);
            }

            FirstSetup.End(EndOptions.Default);
        }
示例#2
0
 public IDChooser()
 {
     InitializeComponent();
     if (!Config.SetupDone)
     {
         FirstSetup FS = new FirstSetup();
         Hide();
         FS.ShowDialog();
     }
     else
     {
         PopulatecomboBox1();
     }
 }
示例#3
0
        private static void Main(string[] args)
        {
            bool compile = args.Any(x => x == "-c");
            bool clean   = args.Any(x => x == "-clean");
            bool run     = args.Any(x => x == "-r");

            FirstSetup.Start();

            string output = null;

            output = compile ? VisHelper.Compile(clean) : FirstSetup.DefaultFile;

            if (run)
            {
                if (output == null)
                {
                    Console.WriteLine($"Output file '{output}' not found.");
                }

                VisHelper.Default(output).Run();
            }

            FirstSetup.End(EndOptions.Default);
        }
示例#4
0
        /* TODO: Disabled Login components due to php backend not functioning on modapi.cc
         * protected void ShowLoginLoader()
         * {
         *  Dispatcher.Invoke(delegate
         *  {
         *      LoginButton.Visibility = Visibility.Collapsed;
         *      LoginLoader.Visibility = Visibility.Visible;
         *      LoggedIn.Visibility = Visibility.Collapsed;
         *  });
         * }
         *
         * protected void ShowLoginUser(WebService.User user)
         * {
         *  Dispatcher.Invoke(delegate
         *  {
         *      LoginButton.Visibility = Visibility.Collapsed;
         *      LoginLoader.Visibility = Visibility.Collapsed;
         *      LoggedIn.Visibility = Visibility.Visible;
         *      UserAvatarLoader.Visibility = Visibility.Visible;
         *      Console.WriteLine(user.Usergroup);
         *      Usergroup.SetResourceReference(TextBlock.TextProperty, "Lang.UserGroup." + user.Usergroup);
         *      Username.Text = user.Username;
         *      user.OnAvatarChange = AvatarChange;
         *      user.LoadAvatar();
         *  });
         * }
         *
         * protected void AvatarChange()
         * {
         *  Dispatcher.Invoke(delegate
         *  {
         *      UserAvatarLoader.Visibility = Visibility.Collapsed;
         *      var avatar = new BitmapImage();
         *      avatar.BeginInit();
         *      if (WebService.CurrentUser.Avatar == null)
         *      {
         *          avatar.UriSource = new Uri("pack://application:,,,/ModAPI;component/resources/textures/Icons/noAvatar.png");
         *      }
         *      else
         *      {
         *          avatar.StreamSource = WebService.CurrentUser.Avatar;
         *      }
         *      avatar.CacheOption = BitmapCacheOption.OnLoad;
         *      avatar.EndInit();
         *      UserAvatar.Source = avatar;
         *      UserAvatar.InvalidateProperty(Image.SourceProperty);
         *  });
         * }
         *
         * protected void ShowLoginError(int id, string text)
         * {
         *  Dispatcher.Invoke(delegate
         *  {
         *      ShowLogin();
         *      var win = new LoginWindow("Lang.Windows.Login", true);
         *      win.ShowSubWindow();
         *  });
         * }
         *
         * protected void ShowLogin()
         * {
         *  Dispatcher.Invoke(delegate
         *  {
         *      LoginButton.Visibility = Visibility.Visible;
         *      LoginLoader.Visibility = Visibility.Collapsed;
         *      LoggedIn.Visibility = Visibility.Collapsed;
         *  });
         * }
         */

        public MainWindow()
        {
            //System.Console.WriteLine("AAA");
            if (Configuration.Languages["en"] != null)
            {
                App.Instance.Resources.MergedDictionaries.Add(Configuration.Languages["en"].Resource);
            }
            InitializeComponent();
            Instance = this;
            CheckDir();


            /* TODO: Disabled Login components due to php backend not functioning on modapi.cc
             * WebService.OnDoLogin = ShowLoginLoader;
             * WebService.OnLogin = ShowLoginUser;
             * WebService.OnLoginError = ShowLoginError;
             * WebService.OnLogout = ShowLogin;
             */
            WebService.Initialize();

            foreach (var langCode in Languages)
            {
                var newItem = new ComboBoxItem
                {
                    Style       = Application.Current.FindResource("ComboBoxItem") as Style,
                    DataContext = langCode
                };
                LanguageItems.Add(langCode, newItem);
                var panel = new StackPanel
                {
                    Orientation = Orientation.Horizontal
                };
                var image = new Image
                {
                    Height = 20
                };
                var source = new BitmapImage();
                source.BeginInit();
                source.UriSource = new Uri("pack://application:,,,/ModAPI;component/resources/textures/Icons/Lang_" + langCode + ".png");
                source.EndInit();
                image.Source = source;
                image.Margin = new Thickness(0, 0, 5, 0);
                panel.Children.Add(image);

                var label = new TextBlock
                {
                    FontSize = 16
                };
                label.SetResourceReference(TextBlock.TextProperty, "Lang.Languages." + langCode);
                panel.Children.Add(label);

                newItem.Content = panel;
                DevelopmentLanguageSelector.Items.Add(newItem);
            }

            FirstSetup = Configuration.GetString("SetupDone").ToLower() != "true";
            if (FirstSetup)
            {
                var win = new FirstSetup("Lang.Windows.FirstSetup");
                win.ShowSubWindow();
                win.Show();
            }
            else
            {
                FirstSetupDone();
            }

            Configuration.OnLanguageChanged += LanguageChanged;

            foreach (var language in Configuration.Languages.Values)
            {
                AddLanguage(language);
            }

            SettingsVm           = new SettingsViewModel();
            Settings.DataContext = SettingsVm;
            //LanguageSelector.SelectedIndex = Configuration.Languages.Values.ToList().IndexOf(Configuration.CurrentLanguage);

            foreach (var tab in GuiConfiguration.Tabs)
            {
                var newTab = new IconTabItem();
                var style  = App.Instance.Resources["TopTab"] as Style;
                newTab.Style = style;

                try
                {
                    var image = new BitmapImage();
                    image.BeginInit();
                    image.UriSource = new Uri("pack://application:,,,/ModAPI;component/resources/textures/Icons/" + tab.IconName);
                    image.EndInit();
                    newTab.IconSource = image;
                }
                catch (Exception e)
                {
                    Debug.Log("MainWindow", "Couldn't find the icon \"" + tab.IconName + "\".", Debug.Type.Warning);
                }
                try
                {
                    var imageSelected = new BitmapImage();
                    imageSelected.BeginInit();
                    imageSelected.UriSource = new Uri("pack://application:,,,/ModAPI;component/resources/textures/Icons/" + tab.IconSelectedName);
                    imageSelected.EndInit();
                    newTab.SelectedIconSource = imageSelected;
                }
                catch (Exception e)
                {
                    Debug.Log("MainWindow", "Couldn't find the icon \"" + tab.IconSelectedName + "\".", Debug.Type.Warning);
                }

                newTab.SetResourceReference(IconTabItem.LabelProperty, tab.LangPath + ".Tab");
                var newPanel = (IPanel)Activator.CreateInstance(tab.ComponentType);
                newTab.Content = newPanel;
                Debug.Log("MainWindow", "Added tab of type \"" + tab.TypeName + "\".");
                newPanel.SetTab(tab);
                Panels.Add(newPanel);
                Tabs.Items.Add(newTab);
            }

            Timer          = new DispatcherTimer();
            Timer.Tick    += GuiTick;
            Timer.Interval = new TimeSpan((long)(GuiDeltaTime * 10000000));
            Timer.Start();
            LanguageChanged();
            SettingsVm.Changed();
        }