예제 #1
0
 public override void OnPostSetup()
 {
     // Get the elements.
     TitleBar              = Element.GetInterfacedChildByName <ITextable>("TitleBar");
     ContentArea           = Element.GetChildByName("Content");
     ContentSizeCalculator = ContentArea != null && (ContentArea is ISizeCalculator sizeCalculator || ContentArea.TryGetInterfacedComponent(out sizeCalculator)) ? sizeCalculator : null;
 }
예제 #2
0
 /// <summary>
 /// ChunkStack constructor
 /// </summary>
 /// <param name="bufferSize">Memory limit for stored data</param>
 /// <param name="sizeCalculator">Calculator for data size calculation</param>
 /// <param name="chunkStorage">External data storage</param>
 public ChunkStack(
     long bufferSize,
     ISizeCalculator <T> sizeCalculator,
     IChunkStorage <T> chunkStorage)
 {
     _bufferSize    = bufferSize;
     _sizeCalcuator = sizeCalculator;
     _chunkStorage  = chunkStorage;
 }
예제 #3
0
 private OppositeMergeSort <T> CreateSorter <T>(ISizeCalculator <T> sizeCalculator) where T : IComparable
 {
     return(new OppositeMergeSort <T>(new ChunkStack <T>(
                                          100 * MemorySize.MB,
                                          sizeCalculator,
                                          null),
                                      new ChunkStack <T>(
                                          100 * MemorySize.MB,
                                          sizeCalculator,
                                          null)));
 }
예제 #4
0
 public Emitter(EmitterConfig config)
 {
     _randomGenerator         = new RandomWrapper();
     _config                  = config;
     _shape                   = config.EmitterShape;
     _intialColorCalculator   = config.InitialColorCalculator;
     _finalColorCalculator    = config.FinalColorCalculator;
     _initialSizeCalculator   = config.InitialSizeCalculator;
     _secondsBetweenEmissions = 1.0f / config.EmissionRatePerSecond;
     Particles                = new Particle[config.MaximumNumberOfParticles];
     ParticleCount            = 0;
     _secondSinceLastEmitted  = 0.0f;
     _numberToEmitFractional  = 0.0f;
 }
    public void Test(string kingdom, string family, string species)
    {
        ISizeCalculator calculator = null;

        if (kingdom == "A")
        {
            calculator = new ASimpleCalculation();
        }
        else if (kingdom == "B" && family == "123")
        {
            calculator = new AnotherCalculation();
        }
        else if (new string[] { "X", "Y", "Z" }.Contains(species))
        {
            calculator = new ASimpleCalculation();
        }
        // add more criteria as per your requirements
        string result = calculator.GetSize(1, 2, 3);
    }
예제 #6
0
 public FileSizeComparator(ISizeCalculator sizeCalculator, IFileWrapper fileWrapper)
 {
     _sizeCalculator = sizeCalculator;
     _fileWrapper    = fileWrapper;
 }
예제 #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="sizeCalculator">The size calculator.</param>
 protected SizeCalculatorViewModelBase(ISizeCalculator sizeCalculator)
 {
     SizeCalculator = sizeCalculator ?? throw new ArgumentNullException(nameof(sizeCalculator));
 }