Initialize() protected abstract method

protected abstract Initialize ( ) : void
return void
Ejemplo n.º 1
0
 protected Application(Generator g, Type type, bool initialize = true)
     : base(g, type, initialize)
 {
     Application.Instance = this;
     handler = (IApplication)base.Handler;
     Generator.Initialize(g);             // make everything use this by default
 }
Ejemplo n.º 2
0
 public void Initialize()
 {
     this.output    = new MemoryOutput();
     this.generator = Generator.Initialize()
                      .PreloadModule <CsharpModule>()
                      .PreloadModule <TypeScriptModule>()
                      .PreloadModule <ReflectionModule>()
                      .SetOutput(this.output);
 }
Ejemplo n.º 3
0
    void InitializeTiles()
    {
        tiles = new int[radius * 2, radius * 2];
        generator.Initialize(this, tile, radius, temperature);

        for (int y = 0; y < tiles.GetLength(1); y++)
        {
            for (int x = 0; x < tiles.GetLength(0); x++)
            {
                float distance = Vector3.Distance(new Vector3(x, y), center) * Chunk.scale;
                float angle    = Angle.CalculateAngle(center, new Vector3(x, y));

                tiles[x, y] = tile[generator.GetTile(x, y, distance, angle)];
                if (tiles[x, y] != 0)
                {
                    startNonAirAmount++;
                }
            }
        }
    }
Ejemplo n.º 4
0
        private void LoadFolder(object sender, RoutedEventArgs e)
        {
            generator = new Generator(this.logger, folderPath.Text)
            {
                MinimumAllowedChapterSize = (int)minimumAllowedChapterSize.Value
            };
            generator.Initialize();

            this.displayedSongs = new List <DisplaySong>();

            foreach (var chapter in this.generator.Chapters)
            {
                foreach (var song in chapter.Songs)
                {
                    this.displayedSongs.Add(new DisplaySong(song, chapter.ChapterName));
                }
            }

            this.dataGrid.ItemsSource = this.displayedSongs;
        }
Ejemplo n.º 5
0
        protected override Control Create()
        {
            // Clone the current generator and add handlers
            // for TabControl and TabPage. Create a TabControlSection
            // using the new generator and then restore the previous generator.
            var currentGenerator = Generator.Current;

            try
            {
                var generator = Activator.CreateInstance(currentGenerator.GetType()) as Generator;
                Generator.Initialize(generator);

                generator.Add <ITabControl>(() => new Eto.Test.Handlers.TabControlHandler());
                generator.Add <ITabPage>(() => new Eto.Test.Handlers.TabPageHandler());

                return(base.Create());
            }
            finally
            {
                Generator.Initialize(currentGenerator);                 // restore
            }
        }
Ejemplo n.º 6
0
        /*
         * Get keys function, the function get as a parameter key length window. it done because we need to read the length from this form
         * */
        public void getKeys(KeyLengthWindow form)
        {
            // Generate two random numbers
            // Lets use our entropy based random generator
            Generator.Initialize(2);

            // For 1024 bit key length, we take 512 bits for first prime and 512 for second prime
            // Get same min and max
            BigInteger numMin = BigInteger.Pow(2, (form.BitLength / 2) - 1);
            BigInteger numMax = BigInteger.Pow(2, (form.BitLength / 2));

            // Create two prime numbers
            var p = new PrimeNumber();
            var q = new PrimeNumber();

            p.SetNumber(Generator.Random(numMin, numMin));
            q.SetNumber(Generator.Random(numMin, numMax));

            // Create threaded p and q searches
            pThread = new Thread(p.RabinMiller);
            qThread = new Thread(q.RabinMiller);

            // For timeout
            DateTime start = DateTime.Now;

            pThread.Start();
            qThread.Start();

            while (pThread.IsAlive || qThread.IsAlive)
            {
                TimeSpan ts = DateTime.Now - start;

                if (ts.TotalMilliseconds > (1000 * 60 * 5))
                {
                    try
                    {
                        pThread.Abort();
                    }
                    // ReSharper disable EmptyGeneralCatchClause
                    catch (Exception)
                    // ReSharper restore EmptyGeneralCatchClause
                    {
                    }

                    try
                    {
                        qThread.Abort();
                    }
                    // ReSharper disable EmptyGeneralCatchClause
                    catch (Exception)
                    // ReSharper restore EmptyGeneralCatchClause
                    {
                    }

                    MessageBox.Show("Key generating error: timeout.\r\n\r\nIs your bit length too large?", "Error");

                    break;
                }
            }


            // If we found numbers, we continue to create
            if (p.GetFoundPrime() && q.GetFoundPrime())
            {
                BigInteger n     = p.GetPrimeNumber() * q.GetPrimeNumber();
                BigInteger euler = (p.GetPrimeNumber() - 1) * (q.GetPrimeNumber() - 1);

                this.Dispatcher.Invoke((Action)(() =>
                {
                    messageStatusBar.Text = "Generating e prime number ...";
                }));

                var primeNumber = new PrimeNumber();

                while (true)
                {
                    primeNumber.SetNumber(Generator.Random(2, euler - 1));

                    start = DateTime.Now;

                    eThread = new Thread(primeNumber.RabinMiller);
                    eThread.Start();

                    while (eThread.IsAlive)
                    {
                        TimeSpan ts = DateTime.Now - start;

                        if (ts.TotalMilliseconds > (1000 * 60 * 5))
                        {
                            MessageBox.Show("Key generating error: timeout.\r\n\r\nIs your bit length too large?", "Error");

                            break;
                        }
                    }

                    if (primeNumber.GetFoundPrime() && (BigInteger.GreatestCommonDivisor(primeNumber.GetPrimeNumber(), euler) == 1))
                    {
                        break;
                    }
                }

                if (primeNumber.GetFoundPrime())
                {
                    this.Dispatcher.Invoke((Action)(() =>
                    {
                        messageStatusBar.Text = "Calculating key components ...";
                    }));

                    // Calculate secret exponent D as inverse number of E
                    BigInteger d = MathExtended.ModularLinearEquationSolver(primeNumber.GetPrimeNumber(), 1, euler);
                    //BigInteger d = MathExtended.ModularLinearEquationSolver(83, 1, 120);

                    // Displaying keys
                    if (d > 0)
                    {
                        // N
                        (keysVM as KeysVM).PublicN  = n.ToString();
                        (keysVM as KeysVM).PrivateN = n.ToString();

                        // E
                        (keysVM as KeysVM).PublicE = primeNumber.GetPrimeNumber().ToString();

                        // D
                        (keysVM as KeysVM).PrivateD = d.ToString();

                        this.Dispatcher.Invoke((Action)(() =>
                        {
                            tabControl.SelectedIndex = 2;

                            messageStatusBar.Text = "Successfully created key pair.";
                        }));
                    }
                    else
                    {
                        this.Dispatcher.Invoke((Action)(() =>
                        {
                            messageStatusBar.Text = "Error: Modular equation solver fault.";
                        }));

                        MessageBox.Show(
                            "Error using mathematical extensions.\r\ne = " + primeNumber + "\r\neuler = " + euler + "\r\np = " +
                            p.GetPrimeNumber() + "\r\n" + q.GetPrimeNumber(), "Error");
                    }
                }
            }
            else
            {
                this.Dispatcher.Invoke((Action)(() =>
                {
                    messageStatusBar.Text = "Idle";
                }));
            }
            this.Dispatcher.Invoke((Action)(() =>
            {
                this.progressBar.IsIndeterminate = false;
            }));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Start Dumping Packages On Target Process<para/>
        /// As Programming Lang Code.
        /// </summary>
        /// <param name="requestInfo">Information About User</param>
        public async Task <GenRetInfo> Start(AgentRequestInfo requestInfo)
        {
            var ret = new GenRetInfo();

            _requestInfo  = requestInfo;
            ret.StartTime = DateTime.Now;

            #region Check Address
            var uDiscord = UpdateDiscordState("State", "Check Address !!");

            if (!Utils.IsValidGNamesAddress(_gnames))
            {
                return new GenRetInfo {
                           State = GeneratorState.BadGName
                }
            }
            ;
            if (!Utils.IsTUobjectArray(_gobjects))
            {
                return new GenRetInfo {
                           State = GeneratorState.BadGObject
                }
            }
            ;
            #endregion

            // Flag for `DiscordMessageUpdater`
            _sdkWork = true;

            #region GNames
            // Wait Discord message to send (if was not !!)
            await uDiscord; uDiscord = UpdateDiscordState("State", "Dumping **GNames**. !!");

            // Dump GNames
            var gnamesT = NamesStore.Initialize(_gnames);
            if (!await gnamesT)
            {
                return new GenRetInfo {
                           State = GeneratorState.BadGName
                }
            }
            ;

            // Update Information
            await uDiscord; uDiscord = UpdateDiscordState("GNames", $"*{NamesStore.GNames.Names.Count}*");
            #endregion

            #region GObjects
            // Wait Discord message to send (if was not !!)
            await uDiscord; uDiscord = UpdateDiscordState("State", "Dumping **GObjects**. !!");

            // Dump GObjects
            var gobjectsT = ObjectsStore.Initialize(_gobjects);
            if (!await gobjectsT)
            {
                return new GenRetInfo {
                           State = GeneratorState.BadGObject
                }
            }
            ;

            // Update Information
            await uDiscord; uDiscord = UpdateDiscordState("GObjects", $"*{ObjectsStore.GObjects.Objects.Count}*");
            #endregion

            #region Init Generator
            // Init Generator Settings
            if (!Generator.Initialize())
            {
                return new GenRetInfo {
                           State = GeneratorState.BadGenerator
                }
            }
            ;

            // Init Generator info
            Generator.SdkPath          = Path.Combine(Program.GenPath, "SDK");
            Generator.LangPaths        = Program.LangsPath;
            Generator.IsGObjectsChunks = ObjectsStore.GObjects.IsChunksAddress;

            // Ask User For Information
            Generator.GameName = await Utils.DiscordManager.StringQuestion(_requestInfo, "Game Name .?");

            Generator.GameVersion = await Utils.DiscordManager.StringQuestion(_requestInfo, "Game Version .?");

            Generator.GameModule = await Utils.DiscordManager.OptionsQuestion(_requestInfo, "Game Module .?",
                                                                              Utils.MemObj.GetModuleList().Where(m => !m.ModuleName.ToLower().EndsWith(".dll")).Select(m => m.ModuleName).ToList());

            Generator.SdkType = await Utils.DiscordManager.YesNoMessage(_requestInfo, "Internal SDK .?") ? SdkType.Internal : SdkType.External;

            Generator.SdkLangName = await Utils.DiscordManager.OptionsQuestion(_requestInfo, "Syntax Lang .?",
                                                                               Program.SupportedLangs.Select(s => s.Key).ToList());

            // Get Module Info
            Utils.MemObj.GetModuleInfo(Generator.GameModule, out var mod);
            Generator.GameModuleBase = mod.BaseAddress;

            #region Move Sdk Message
            // Move the Sdk Dump Message, to be the last message
            ulong oldMessage = _requestInfo.AgentMessage.Id;

            // New Message
            _requestInfo.AgentMessage = await _requestInfo.Context.Channel.SendMessageAsync(embed : _requestInfo.AgentMessage.Embeds.First());

            // Delete Old
            await(await _requestInfo.Context.Channel.GetMessageAsync(oldMessage)).DeleteAsync();
            #endregion

            // Init Sdk Lang
            if (!InitSdkLang())
            {
                return new GenRetInfo {
                           State = GeneratorState.BadSdkLang
                }
            }
            ;
            #endregion

            Directory.CreateDirectory(Generator.SdkPath);

            #region Dump Names/Objects To Files
            //if (Generator.ShouldDumpArrays)
            //{
            //    *startInfo.State = "Dumping (GNames/GObjects).";
            //    Dump(outputDirectory, *startInfo.State);
            //    *startInfo.State = "Dump (GNames/GObjects) Done.";
            //}
            #endregion

            // Wait Discord message to send (if was not !!)
            await uDiscord;

            // Process Packages
            await ProcessPackages();

            ret.State = GeneratorState.Good;

            return(ret);
        }
Ejemplo n.º 8
0
 protected Application(Generator generator, Type type, bool initialize = true)
     : base(generator ?? Generator.Detect, type, initialize)
 {
     Application.Instance = this;
     Generator.Initialize(generator ?? Generator.Detect);             // make everything use this by default
 }