Пример #1
0
        /// <summary>
        /// Returns true if the skin fits to component<br/>
        /// The skin fits to component if it contains all the required parts (being of required types)
        /// </summary>
        /// <param name="skinType"></param>
        /// <param name="componentType"></param>
        /// <returns></returns>
        public static bool SkinFitsComponent(Type skinType, Type componentType)
        {
            var parts = SkinPartCache.Instance.Get(componentType);

            /**
             * 1. Must have all the required skin parts
             * */
            foreach (var id in parts.Keys)
            {
                if (!parts[id]) // if part not required, continue
                {
                    continue;
                }

                var cmpMember = GlobalMemberCache.Instance.Get(componentType, id);
                if (null == cmpMember)
                {
                    cmpMember = new MemberWrapper(componentType, id);
                    GlobalMemberCache.Instance.Put(componentType, id, cmpMember);
                }

                var skinMember = GlobalMemberCache.Instance.Get(componentType, id);
                if (null == skinMember)
                {
                    /* TODO: undirty this */
                    try
                    {
                        skinMember = new MemberWrapper(skinType, id);
                        GlobalMemberCache.Instance.Put(componentType, id, skinMember);
                    }
                    catch (MemberNotFoundException ex)
                    {
                        // ignore because the member doesn't exist
                    }
                }

                if (null == skinMember || skinMember.GetType() != cmpMember.GetType())
                {
                    return(false);
                }
            }

            /**
             * 2. Must have the same set of states
             * */
            // TODO:
            var skinStates = GuiReflector.GetSkinStates(componentType);

            var hostComponentType = GetHostComponent(skinType);
            var componentStates   = GuiReflector.GetSkinStates(hostComponentType);

            // in current impl. the states have to be in the same order
            var sameStates = ListUtil <string> .Equals(skinStates, componentStates);

            return(sameStates);
            //return true;
        }
Пример #2
0
        public void testAnyToList_Object()
        {
            Int32          testItem = 9843789;
            IList <Object> actual   = ListUtil.AnyToList(testItem);

            Assert.IsNotNull(actual);
            Assert.AreEqual(1, actual.Count);
            Assert.AreEqual(testItem, actual[0]);
        }
Пример #3
0
        private IEnumerable <PolygonChanged> OutGoingForPointRange(int index, int range)
        {
            var polygonMutations = Diagonalizes.DiagonalizeListRate(ListUtil.FromTo(index, index + range - 1).SelectList(i =>
                                                                                                                         GetPointMutationsForIndex(i % Polygon.Points.Count)), 2).ConcatUtil().Select(xs => CombinePointMutations(xs.ToLazyList()));
            var changedPolygons          = polygonMutations.Select(polygon => new PolygonChanged(polygon, 0));
            var withoutSelfIntersections = changedPolygons.Where(changedPolygon => !changedPolygon.NewPolygon.IsSelfIntersecting());

            return(withoutSelfIntersections);
        }
Пример #4
0
        private void InitializeDetails()
        {
            txtManageDepartmentsAdd.Text    = "";
            txtManageDepartmentUpdate.Text  = "";
            txtManageDepartmentsSearch.Text = "";

            selectedDepartmentIndex = -1;
            Departments             = userController.GetDepartments();
            ListUtil.InitializeListView(mlvDepartments, Departments);
        }
Пример #5
0
        private void FireSelectedEvent(object[] AddedItems)
        {
            List <string> AddedItemsLZ = ListUtil <string> .ToList(AddedItems);

            DanoEventArgs DEA = new DanoEventArgs();

            DEA.DanoParameters.Add(AddedItemsLZ);

            LayerSelected(this, DEA);
        }
Пример #6
0
        public void Init(SBulletThenEmbedData data)
        {
            this._data = data;
            this.AddCallback(this.Embed);
            this._data.TargetObject = ListUtil <GameObject> .GetRandomElement(this._data.TargetableObjects);

            this._data.Target = RotateTranslateUtil.Instance.RandomTranslate(
                this._data.Target,
                this._data.Offset);
        }
Пример #7
0
        protected ICacheWalkerResult WalkIntern(IObjRef[] objRefs, IdentityHashSet <ICache> allCachesSet)
        {
            IdentityHashMap <ICache, List <ICache> > cacheToChildCaches = new IdentityHashMap <ICache, List <ICache> >();
            IdentityHashMap <ICache, ICache>         cacheToProxyCache  = new IdentityHashMap <ICache, ICache>();

            ICache currentCommittedRootCache = CommittedRootCache.CurrentCache;

            if (!CacheProvider.IsNewInstanceOnCall)
            {
                allCachesSet.Add(FirstLevelCache.CurrentCache);
            }

            ICache[] allChildCaches = allCachesSet.ToArray();

            allCachesSet.Add(currentCommittedRootCache);
            foreach (ICache childCache in allChildCaches)
            {
                ICache child  = childCache;
                ICache parent = ((ChildCache)child).Parent;
                while (parent != null)
                {
                    ICache currentParent = parent.CurrentCache;

                    if (!allCachesSet.Add(currentParent))
                    {
                        // skip this cache. we handled it already
                        break;
                    }
                    CheckParentCache(parent, currentParent, child, cacheToChildCaches, cacheToProxyCache);
                    parent = ((IRootCache)currentParent).Parent;
                    child  = currentParent;
                }
                CheckParentCache(CommittedRootCache, currentCommittedRootCache, child, cacheToChildCaches, cacheToProxyCache);
            }
            if (objRefs != allEntityRefs)
            {
                objRefs = new CHashSet <IObjRef>(objRefs).ToArray();
                Array.Sort(objRefs, ObjRef.comparator);
            }
            CacheWalkerResult rootEntry = BuildWalkedEntry(currentCommittedRootCache, objRefs, cacheToChildCaches, cacheToProxyCache);

            if (objRefs == allEntityRefs)
            {
                HashMap <IObjRef, int?> allObjRefs = new HashMap <IObjRef, int?>();
                CollectAllObjRefs(rootEntry, allObjRefs);
                objRefs = allObjRefs.Count > 0 ? ListUtil.ToArray(allObjRefs.KeyList()) : ObjRef.EMPTY_ARRAY;
                Array.Sort(objRefs, ObjRef.comparator);
                for (int a = objRefs.Length; a-- > 0;)
                {
                    allObjRefs.Put(objRefs[a], a);
                }
                ReallocateObjRefsAndCacheValues(rootEntry, objRefs, allObjRefs);
            }
            return(rootEntry);
        }
Пример #8
0
        private IEnumerable <PointMutation> GetPointMutationsForIndex(int index)
        {
            var removedPointPolygons    = ListUtil.Singleton((PointMutation) new DeletedPoint(index));
            var changedPointPolygons    = MutatePoint(index);
            var insertedPointPolygons   = EnumerableUtil.From(0).Select(i => InsertPoint(index));
            var changedInserted         = EnumerableUtil.ConcatUtil(changedPointPolygons, insertedPointPolygons);
            var changedInsertedDiagonal = Diagonalizes.DiagonalizeListRateEmpty(changedInserted, 2).ConcatUtil().Select(xs => CombineAddedChangedMutations(xs.ToLazyList()));
            var combined = removedPointPolygons.Concat(changedInsertedDiagonal);

            return(combined);
        }
Пример #9
0
        public void testAnyToSet_Object()
        {
            Int32         testItem = 9843789;
            ISet <Object> actual   = ListUtil.AnyToSet(testItem);

            Assert.IsNotNull(actual);
            Assert.AreEqual(1, actual.Count);
            IEnumerator <Object> enumerator = actual.GetEnumerator();

            Assert.IsTrue(enumerator.MoveNext());
            Assert.AreEqual(testItem, enumerator.Current);
        }
Пример #10
0
        public IEnumerable <PolygonChanged> OutGoingForPoint(int index)
        {
            var changedPointPolygons  = MutatePoint(index);
            var insertedPointPolygons = InsertPoint(index);
            var removedPointPolygons  = ListUtil.Singleton(RemovePoint(index));
            var changeInsertPolygons  = ListUtil.New <IEnumerable <IList <PolygonChanged> > >(
                changedPointPolygons.DivideInfinite(CHANGES_PER_INSERT), insertedPointPolygons.Select(
                    x => ListUtil.New(x))).Intertwine().SelectMany(x => x);
            var combined = removedPointPolygons.Concat(changeInsertPolygons);

            return(combined.Where(x => !x.NewPolygon.IsSelfIntersecting()));
        }
Пример #11
0
 public void CalcCutOffs2()
 {
     //              1         2         3
     //    0123456789012345678901234567890123
     Init("01234567890123456 0123456789012345");
     line.CalcCutOffs(20);
     Assert.AreEqual("[(18/0)]", ListUtil.ToString(line.cutOffs.ToArray()));
     line.CalcCutOffs(18);
     Assert.AreEqual("[(18/0)]", ListUtil.ToString(line.cutOffs.ToArray()));
     line.CalcCutOffs(17);
     Assert.AreEqual("[(17/0)]", ListUtil.ToString(line.cutOffs.ToArray()));
 }
Пример #12
0
        public IHex GetRandomNearbyTile(int probes, IHex tile)
        {
            var currNeighbors = tile.GetAdjacent();

            for (int i = 0; i < probes; i++)
            {
                var random = ListUtil <IHex> .GetRandomElement(currNeighbors);

                currNeighbors = random.GetAdjacent();
            }
            return(ListUtil <IHex> .GetRandomElement(currNeighbors));
        }
Пример #13
0
        private async Task <IList <CourseDto> > ToDto(IQueryable <Course> query)
        {
            query = query.Include(x => x.RelTags)
                    .ThenInclude(x => x.Tag);

            IList <Course> list = await query
                                  .Include(x => x.RelTags)
                                  .ThenInclude(x => x.Tag)
                                  .ToListAsync();

            return(await ListUtil.ToDtoListAsync(list, ToCourseDto));
        }
        private void OnSourceListPropertyDescriptorAdded(ListChangedEventArgs e)
        {
            _pdc = ListUtil.GetItemProperties(SourceList);
            int field       = _pdc.IndexOf(e.PropertyDescriptor);
            int columnIndex = field + 1;

            Model.InsertColumns(columnIndex, 1);
            BlinkQueueInsertField(field, null);
            //InsertDirtyCellColumns(columnIndex, 1, null);
            InsertTotalField(field, 1);
            InvalidateVisual(true);
        }
Пример #15
0
        protected void BuildSetterCommands(Object entity, IObjRef[] newORIs, RelationMember member, IReader reader)
        {
            if (!member.IsToMany)
            {
                if (newORIs.Length == 0)
                {
                    return;
                }
                else if (newORIs.Length == 1)
                {
                    IObjectFuture  objectFuture = new ObjRefFuture(newORIs[0]);
                    IObjectCommand command      = CommandBuilder.Build(reader.CommandTypeRegistry, objectFuture, entity, member);
                    reader.AddObjectCommand(command);
                }
                else
                {
                    throw new ArgumentException("Multiple values for to-one relation");
                }
            }
            else
            {
                Object     coll       = ListUtil.CreateCollectionOfType(member.RealType, newORIs.Length);
                MethodInfo addMethod  = coll.GetType().GetMethod("Add");
                Object[]   parameters = new Object[1];

                bool                 useObjectFuture     = false;
                ICommandBuilder      commandBuilder      = CommandBuilder;
                ICommandTypeRegistry commandTypeRegistry = reader.CommandTypeRegistry;
                foreach (IObjRef ori in newORIs)
                {
                    if (!(ori is IDirectObjRef))
                    {
                        IObjectFuture  objectFuture = new ObjRefFuture(ori);;
                        IObjectCommand command      = commandBuilder.Build(commandTypeRegistry, objectFuture, coll, addMethod);
                        reader.AddObjectCommand(command);
                        useObjectFuture = true;
                        continue;
                    }

                    Object item = ((IDirectObjRef)ori).Direct;
                    if (useObjectFuture)
                    {
                        IObjectCommand command = commandBuilder.Build(commandTypeRegistry, null, coll, addMethod, item);
                        reader.AddObjectCommand(command);
                    }
                    else
                    {
                        parameters[0] = item;
                        addMethod.Invoke(coll, parameters);
                    }
                }
            }
        }
Пример #16
0
        private int RestoreGravityAssist(IList <int> initialMemory)
        {
            IList <int> memory = ListUtil.DeepCopy(initialMemory);
            int         noun   = 12;
            int         verb   = 2;

            memory[1] = noun;
            memory[2] = verb;
            IList <int> finalMemory = intcodeCPU.ApplyOperations(memory);

            return(finalMemory[0]);
        }
        private void OnSourceListPropertyDescriptorDeleted(ListChangedEventArgs e)
        {
            int field = _pdc.IndexOf(e.PropertyDescriptor);

            _pdc = ListUtil.GetItemProperties(SourceList);
            int columnIndex = field + 1;

            Model.RemoveColumns(columnIndex, 1);
            BlinkQueueDeleteField(field, null);
            //RemoveDirtyCellColumns(columnIndex, 1, null);
            RemoveTotalField(field, 1);
            InvalidateVisual(true);
        }
        private void OnSourceListPropertyDescriptorChanged(ListChangedEventArgs e)
        {
            _pdc = ListUtil.GetItemProperties(SourceList);
            int field       = _pdc.IndexOf(e.PropertyDescriptor);
            int columnIndex = field + 1;

            InvalidateCell(GridRangeInfo.Col(columnIndex));
            InvalidateCell(new RowColumnIndex(SourceList.Count + 1, columnIndex));
            if (IsColumnVisible(columnIndex))
            {
                InvalidateVisual(false);
            }
        }
Пример #19
0
        // Item List Selected Operations
        private void mlvSearchBorrowItem_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected)
            {
                selectedBorrowItemIndex = mlvSearchBorrowItem.FocusedItem.Index;
                selectedBorrowItem      = Items.ElementAt(selectedBorrowItemIndex);

                Stocks = selectedBorrowItem.Stocks.Count != 0 ? selectedBorrowItem.Stocks.ToList() : new List <Stock>();
                ListUtil.InitializeListView(mlvSearchBorrowStock, Stocks);

                tbcBorrow.SelectedTab = tbpSelectBorrowStock;
            }
        }
Пример #20
0
        //Select Item Stock
        private void mlvSelectRefundItemStock_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected)
            {
                selectedRefundedItemStock = mlvSelectRefundItemStock.FocusedItem.Index;
                selectedRefundBorrow      = selectedRefunderUser.Borrows.Where(x => !x.IsReturn).ElementAt(selectedRefundedItemStock);
                selectedItem = RefundItems.FirstOrDefault(x => x.Id.Equals(selectedRefundBorrow.Item_Id));

                SelectedItems = new List <int>();
                ListUtil.InitializeListView(mlvSelectRefundItem, Borrows.Where(x => x.Id.Equals(selectedRefundBorrow.Id)).ToList(), RefundItems, (int)selectedRefundBorrow.Quantity);
                tbcManageRefund.SelectedTab = tbpAcceptRefund;
            }
        }
Пример #21
0
 public override Task <TypeReaderResult> Read(ICommandContext context, string input, IServiceProvider services)
 {
     try
     {
         LeagueRole match = LeagueRole.Get(input);
         return(Task.FromResult(TypeReaderResult.FromSuccess(match)));
     }
     catch (NotExistingException)
     {
         string roles = ListUtil.BuildEnumeration(LeagueRole.Values());
         return(Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, $"Role `{input}` doesn't exist. Choose one of `{roles}`")));
     }
 }
Пример #22
0
        private static bool Remove(List <Subscription> subscriptions, Subscription subscription)
        {
            for (int i = 0, size = subscriptions.Count; i < size; i++)
            {
                if (subscription == subscriptions[i])
                {
                    ListUtil.FastUnorderedRemove(subscriptions, i, size - 1);
                    return(true);
                }
            }

            return(false);
        }
Пример #23
0
        public void testAnyToSet_Array2()
        {
            Int32[]       input    = { 1, 2, 3, 4, 5 };
            ISet <Object> expected = new HashSet <Object>();

            for (uint i = 0; i < input.Length; i++)
            {
                expected.Add(input[i]);
            }
            ISet <Object> actual = ListUtil.AnyToSet(input);

            AssertSimilar(expected, actual);
        }
Пример #24
0
 // Search Departments by name
 private void txtManageDepartmentsSearch_OnValueChanged(object sender, EventArgs e)
 {
     txtManageDepartmentsSearch.Text = txtManageDepartmentsSearch.MaximumLength(200);
     if (isReporterAdmin)
     {
         Departments = userController.GetDepartments().Where(x => x.Name.ToLower().Contains(txtManageDepartmentsSearch.Text.ToLower())).ToList();
     }
     else
     {
         Departments = userController.GetDepartments().Where(x => x.Id.Equals(userController.GetUser().Department_Id) && x.Name.ToLower().Contains(txtManageDepartmentsSearch.Text.ToLower())).ToList();
     }
     ListUtil.InitializeListView(mlvDepartments, Departments);
 }
Пример #25
0
        public void ProcessPostFatalityBark(FatalityData data)
        {
            var hit = ListUtil <MHit> .GetRandomElement(data.FatalHits);

            var origin = data.Source.GameHandle;
            var barks  = new List <string>();

            if (hit.Data.Target.Current != null &&
                hit.Data.Target.Current.GetType().Equals(typeof(CChar)))
            {
                var tgt = hit.Data.Target.Current as CChar;
                if (hit.Data.Source.Proxy.LParty == tgt.Proxy.LParty)
                {
                    barks = BarkTable.Instance.Table[EBark.FriendlyFatality];
                }
                else
                {
                    var roll = RNG.Instance.NextDouble();
                    if (roll < NEUTRAL_BARK_CHANCE)
                    {
                        barks = BarkTable.Instance.Table[EBark.NeutralFatality];
                        var characters = CombatManager.Instance.GetData().Characters;
                        origin = ListUtil <CChar> .GetRandomElement(characters).GameHandle;
                    }
                    else
                    {
                        barks = this.GetPostEnemyFatalityBarks(data);
                    }
                }
            }
            else
            {
                var roll = RNG.Instance.NextDouble();
                if (roll < NEUTRAL_BARK_CHANCE)
                {
                    barks = BarkTable.Instance.Table[EBark.NeutralFatality];
                    var characters = CombatManager.Instance.GetData().Characters;
                    origin = ListUtil <CChar> .GetRandomElement(characters).GameHandle;
                }
                else
                {
                    barks = this.GetPostEnemyFatalityBarks(data);
                }
            }
            var bark = ListUtil <string> .GetRandomElement(barks);

            if (bark != null)
            {
                this.DisplayBark(bark, origin);
            }
        }
        public void BeforeRender(RectFloat clipRect)
        {
            if ((!this.afterRenderCalled || this.beforeRenderCalled) || this.renderCalled)
            {
                throw new PaintDotNet.InternalErrorException();
            }
            this.afterRenderCalled  = false;
            this.beforeRenderCalled = true;
            bool flag = this.canvasView.RenderTarget.IsSupported(RenderTargetType.Software, null, null, null);

            if (flag || this.IsActive)
            {
                this.renderStopwatch.Restart();
                RectInt32 num2  = RectInt32.Intersect(clipRect.Int32Bound, this.owner.Document.Bounds());
                bool      flag2 = false;
                if (num2.HasPositiveArea)
                {
                    PointInt32   num7;
                    PointInt32[] array = this.nonCurrentTileOffsets.ToArrayEx <PointInt32>();
                    this.nonCurrentTileOffsets.Clear();
                    PointInt32 sourcePt  = PointDouble.Round(this.owner.Owner.MouseLocation, MidpointRounding.AwayFromZero);
                    PointInt32 comparand = this.tileMathHelper.ConvertSourcePointToTileOffset(sourcePt);
                    CompareTileOffsetsByDistance comparer = new CompareTileOffsetsByDistance(comparand);
                    ListUtil.Sort <PointInt32, ArrayStruct <PointInt32>, CompareTileOffsetsByDistance>(array.AsStruct <PointInt32>(), comparer);
                    DequeSet <PointInt32> set = new DequeSet <PointInt32>(array);
                    int count = set.Count;
                    while (set.TryDequeue(out num7))
                    {
                        if (!this.isDeviceBitmapCurrent[num7.Y][num7.X])
                        {
                            if (flag2)
                            {
                                this.nonCurrentTileOffsets.TryEnqueue(num7);
                            }
                            else
                            {
                                if (!this.TryUpdateDeviceBitmap(num7))
                                {
                                    this.nonCurrentTileOffsets.TryEnqueue(num7);
                                    flag2 = true;
                                }
                                if ((!flag2 && !flag) && (this.renderStopwatch.ElapsedMilliseconds > 0x7fffffffffffffffL))
                                {
                                    flag2 = true;
                                }
                            }
                        }
                    }
                }
            }
        }
Пример #27
0
        protected void HandlePrimitiveMember(Member primitiveMember, Object entity)
        {
            Type realType = primitiveMember.RealType;

            if (ListUtil.IsCollection(realType))
            {
                Object primitive = primitiveMember.GetValue(entity);
                if (primitive == null)
                {
                    primitive = ListUtil.CreateObservableCollectionOfType(realType);
                    primitiveMember.SetValue(entity, primitive);
                }
            }
        }
Пример #28
0
        public static void calcNeighbourInnerLoop(Loop outerB)
        {
            if (outerB.innerLoops == null)
            {
                return;
            }
            List <Loop> needRemoveList = new List <Loop>();

            for (int i = 0; i < outerB.innerLoops.Count; i++)
            {
                needRemoveList.AddRange(outerB.innerLoops[i].innerLoops);
            }
            outerB.neighbourInnerLoops = ListUtil <Loop> .getRemainedRange(outerB.innerLoops, needRemoveList);
        }
Пример #29
0
        // Select Refunder User
        private void mlvSelectRefunderUser_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected)
            {
                selectedRefunderUserIndex = mlvSelectRefunderUser.FocusedItem.Index;
                selectedRefunderUser      = Users.ElementAt(selectedRefunderUserIndex);

                RefundItems = userController.GetItems(true).Where(x => x.Borrows.Any(y => !y.IsReturn)).ToList();
                ListUtil.InitializeListView(mlvSelectRefundItemStock, selectedRefunderUser.Borrows.Where(x => !x.IsReturn).ToList(), RefundItems);

                selectedRefundedItemStock   = -1;
                tbcManageRefund.SelectedTab = tbpSelectRefundedItem;
            }
        }
Пример #30
0
        public static IEnumerable <int> DistinctSampling(Random random, int count, double exp = 0.5)
        {
            var indexes   = ListUtil.FromTo(0, count);
            int itemsLeft = count;

            for (int i = 0; i < count; i++)
            {
                int index   = (int)(itemsLeft * Sample(random, exp));
                int element = indexes[index];
                indexes = RemoveRewrite(indexes, index);
                itemsLeft--;
                yield return(element);
            }
        }