コード例 #1
0
        public static async void MatchAbilitiesToUnits()
        {
            MainForm.Instance.currAddon.FilesLocked = true;
            await Task.Run(() => Builders.ForEach(b => b.Units.ForEach(u => u.MatchAbilityToUnit())));

            MainForm.Instance.currAddon.FilesLocked = false;
        }
コード例 #2
0
        public DateDecimal[] Construct()
        {
            PayDays = PayDays.OrderByDescending(pd => pd.Date).ToList();
            PayDays.ForEach(CreateBuilder);
            Builders.ForEach(b => b.Build());
            Balancer balancer = new Balancer(Builders.ToArray());

            balancer.BalanceBudget();
            Builders.ForEach(GetResult);
            Result = Result.GroupBy(dd => dd.Date).Select(dd => new DateDecimal(dd.Select(x => x.Date).First(), dd.Sum(y => y.Amount))).ToList();
            return(Result.OrderBy(dd => dd.Date).ToArray());
        }
コード例 #3
0
        public override void Initialize(IApp app)
        {
            base.Initialize(app);

            Builders.ForEach(b =>
            {
                var iface = default(Type);

                if ((iface = b.Type.GetInterface(typeof(ICodeBuilder <>).FullName)) == null)
                {
                    throw new ElideException("Builder '{0}' doesn't implement ICodeBuilder<> interface.", b.Type);
                }

                var arg = iface.GetGenericArguments()[0];
                BuilderInstances.Add(arg, TypeCreator.New(b.Type));
            });
        }