コード例 #1
0
ファイル: LoggingService.cs プロジェクト: AAU-projects/P8-API
        private void AddPositionDay(string userId, List <Position> positions, string now)
        {
            PositionDocument   test = new PositionDocument(now, positions);
            PositionCollection col  = new PositionCollection(userId, test);

            _positions.InsertOne(col);
        }
コード例 #2
0
        private void Controller_MatchStarted(object sender, EventArgs e)
        {
            footballPitch.Dispatcher.Invoke(() =>
            {
                footballPitch.Width  = controller.Pitch.Width;
                footballPitch.Height = controller.Pitch.Height;
            });

            var initialPlayerPositions = new PositionCollection();

            CreateInitialPlayers(initialPlayerPositions);

            controller.HomePositionCollection = initialPlayerPositions;

            Task.Factory.StartNew(() =>
            {
                while (true)
                {
                    SetHomeTeamPositions();
                    Stream data         = DataSerializer.CreateSerializedData(controller.HomePositionCollection);
                    PacketHeader header = PacketHeaderCreator.Create(CommandType.ContinuousSet, MessageType.PositionCollection, data.Length);

                    communicator.SendDataAsPacket(new Packet(header, data));

                    Stream ballData         = DataSerializer.CreateSerializedData(controller.BallPosition);
                    PacketHeader ballHeader = PacketHeaderCreator.Create(CommandType.ContinuousSet, MessageType.BallPosition, ballData.Length);

                    communicator.SendDataAsPacket(new Packet(ballHeader, ballData));

                    Thread.Sleep(25);
                }
            }, TaskCreationOptions.LongRunning).ConfigureAwait(false);
        }
コード例 #3
0
        public void BiasForward_Before_Shifts()
        {
            var pc  = new PositionCollection();
            var end = pc.Create(10, Bias.Forward);

            pc.InsertAt(5, 10);

            end.Offset.Should().Be(20);
        }
コード例 #4
0
        public void BiasForward_OnPos_Ignores()
        {
            var pc  = new PositionCollection();
            var end = pc.Create(10, Bias.Forward);

            pc.InsertAt(10, 10);

            end.Offset.Should().Be(10);
        }
コード例 #5
0
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List <PositionInfo> pList, PositionCollection pCollection)
 {
     foreach (Position position in pCollection)
     {
         PositionInfo positionInfo = new PositionInfo();
         LoadFromDAL(positionInfo, position);
         pList.Add(positionInfo);
     }
 }
コード例 #6
0
ファイル: Range.cs プロジェクト: itcthienkhiem/LIS
		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		public PositionCollection GetCellsPositions()
		{
			PositionCollection l_List = new PositionCollection();
			for (int r = Start.Row; r <= End.Row; r++)
				for (int c = Start.Column; c <= End.Column; c++)
					l_List.Add(new Position(r,c));

			return l_List;
		}
コード例 #7
0
        public void BiasBackward_After_Ignored()
        {
            var pc  = new PositionCollection();
            var end = pc.Create(10, Bias.Backward);

            pc.InsertAt(15, 10);

            end.Offset.Should().Be(10);
        }
コード例 #8
0
        private void DeletePosition()
        {
            PositionManager myManager = new PositionManager();

            myManager.DeleteDesignation(selectedPosId);

            PositionCollection myPosList = new PositionCollection();

            myPosList.RetreiveAllPositions();
        }
コード例 #9
0
        public void Insert_After()
        {
            var pc    = new PositionCollection();
            var start = pc.Create(5, Bias.Forward);
            var end   = pc.Create(10, Bias.Backward);

            pc.InsertAt(20, 10);
            start.Offset.Should().Be(5);
            end.Offset.Should().Be(10);
        }
コード例 #10
0
        public void SortedInsertation()
        {
            var pc = new PositionCollection();

            pc.Create(0, Bias.Forward);
            pc.Create(10, Bias.Backward);
            pc.Create(6, Bias.Backward);
            pc.Create(6, Bias.Forward);
            pc.Contents().Should().BeInAscendingOrder(new TextPositionComparer());
        }
コード例 #11
0
        internal void updatePosition(PositionCollection positions)
        {
            Position pos = positions.getPosition(instance.PositionKey);

            if (pos != null)
            {
                Vector3    trans = pos.Translation;
                Quaternion rot   = pos.Rotation;
                editPosition(ref trans, ref rot);
            }
        }
コード例 #12
0
        public void Remove_On_Start()
        {
            var pc    = new PositionCollection();
            var start = pc.Create(5, Bias.Forward);
            var end   = pc.Create(10, Bias.Backward);

            pc.RemoveAt(5, 2);

            start.Offset.Should().Be(5);
            end.Offset.Should().Be(8);
        }
コード例 #13
0
ファイル: LoggingService.cs プロジェクト: AAU-projects/P8-API
        private void AddDayToExistingUser(string userId, List <Position> positions, PositionCollection userCollection, string now)
        {
            PositionDocument test = new PositionDocument(now, positions);

            userCollection.Documents.Add(test);

            FilterDefinition <PositionCollection> filter = Builders <PositionCollection> .Filter.Eq(x => x.UserId, userId);

            UpdateDefinition <PositionCollection> update = Builders <PositionCollection> .Update.Set(x => x.Documents, userCollection.Documents);

            _positions.UpdateOne(filter, update);
        }
コード例 #14
0
        public void updatePositions(PositionCollection positions)
        {
            foreach (InstanceGroup group in groups.Values)
            {
                group.updatePositions(positions);
            }

            foreach (InstanceFileInterface instance in instanceFiles.Values)
            {
                instance.updatePosition(positions);
            }
        }
コード例 #15
0
ファイル: LoggingService.cs プロジェクト: AAU-projects/P8-API
        private void UpdateExistingDay(string userId, List <Position> positions, PositionCollection userCollection, int userDocumentIndex)
        {
            PositionDocument userDocument = userCollection.Documents[userDocumentIndex];

            userDocument.PositionList.AddRange(positions);

            FilterDefinition <PositionCollection> filter = Builders <PositionCollection> .Filter.Eq(x => x.UserId, userId);

            UpdateDefinition <PositionCollection> update = Builders <PositionCollection> .Update.Set(x => x.Documents[userDocumentIndex], userDocument);

            _positions.UpdateOne(filter, update);
        }
コード例 #16
0
        private Position SearchForValidFocusPosition(PositionCollection positions)
        {
            foreach (Position ps in positions)
            {
                if (CanReceiveFocus(ps))
                {
                    return(ps);
                }
            }

            return(Position.Empty);
        }
コード例 #17
0
        /// <summary>
        /// Returns the union of all the selected range as Position collection
        /// </summary>
        /// <returns></returns>
        public virtual CellCollection GetCells()
        {
            CellCollection     cells       = new CellCollection();
            PositionCollection l_Positions = GetCellsPositions();

            for (int i = 0; i < l_Positions.Count; i++)
            {
                cells.Add(m_Grid.GetCell(l_Positions[i]));
            }

            return(cells);
        }
コード例 #18
0
        /// <summary>
        /// Returns a Collection of cells that represents the current class
        /// </summary>
        /// <returns></returns>
        public virtual PositionCollection GetCellsPositions()
        {
            PositionCollection positions = new PositionCollection();

            //Range
            for (int i = 0; i < m_RangeCollection.Count; i++)
            {
                positions.AddRange(m_RangeCollection[i].GetCellsPositions());
            }

            return(positions);
        }
コード例 #19
0
        public override async Task InitializeAsync(object navigationData)
        {
            var pop = await _dialogService.OpenLoadingPopup();

            InitDataFilter = await _iDDLService.GetInitDataFilter();

            JobTypeCollection       = InitDataFilter.JobTypeDLL.Cast <object>().ToObservableCollection();
            CategoryCollection      = InitDataFilter.ClassificationDLL.Cast <object>().ToObservableCollection();
            LocationCollection      = InitDataFilter.LocationDDL.Cast <object>().ToObservableCollection();
            PositionCollection      = InitDataFilter.PositionDLL.Cast <object>().ToObservableCollection();
            SkillCollection         = InitDataFilter.SkillsDLL.Cast <object>().ToObservableCollection();
            QualificationCollection = InitDataFilter.QualificationDLL.Cast <object>().ToObservableCollection();
            LicenceCollection       = InitDataFilter.TicketsDLL.Cast <object>().ToObservableCollection();

            dynamic objSearchDifinition = await _candidateExploreService.GetSavedSearchDefinition();

            if (objSearchDifinition["parameter"] != null)
            {
                string[] jobTypeIds = objSearchDifinition["parameter"]["JobTypeIds"].ToString().Split(',');
                JobTypeSelected = new ObservableCollection <object>(JobTypeCollection.Where(x => Array.IndexOf(jobTypeIds, (x as LookupItem).Id) >= 0));

                string[] categoryIds = objSearchDifinition["parameter"]["CategoryIds"].ToString().Split(',');
                CategorySelected = new ObservableCollection <object>(CategoryCollection.Where(x => Array.IndexOf(categoryIds, (x as LookupItem).Id) >= 0));

                string[] locationIds = objSearchDifinition["parameter"]["LocationIds"].ToString().Split(',');
                LocationSelected = new ObservableCollection <object>(LocationCollection.Where(x => Array.IndexOf(locationIds, (x as LookupItem).Id) >= 0));

                string[] positionIds = objSearchDifinition["parameter"]["PositionIds"].ToString().Split(',');
                PositionSelected = new ObservableCollection <object>(PositionCollection.Where(x => Array.IndexOf(positionIds, (x as LookupItem).Id) >= 0));

                string[] skillIds = objSearchDifinition["parameter"]["SkillsIds"].ToString().Split(',');
                SkillSelected = new ObservableCollection <object>(SkillCollection.Where(x => Array.IndexOf(skillIds, (x as LookupItem).Id) >= 0));

                string[] qualificationIds = objSearchDifinition["parameter"]["QualificationsIds"].ToString().Split(',');
                QualificationSelected = new ObservableCollection <object>(QualificationCollection.Where(x => Array.IndexOf(qualificationIds, (x as LookupItem).Id) >= 0));

                string[] licenceIds = objSearchDifinition["parameter"]["TicketLicensesIds"].ToString().Split(',');
                LicenceSelected = new ObservableCollection <object>(LicenceCollection.Where(x => Array.IndexOf(licenceIds, (x as LookupItem).Id) >= 0));
            }
            else
            {
                JobTypeSelected       = new ObservableCollection <object>();
                CategorySelected      = new ObservableCollection <object>();
                LocationSelected      = new ObservableCollection <object>();
                PositionSelected      = new ObservableCollection <object>();
                SkillSelected         = new ObservableCollection <object>();
                QualificationSelected = new ObservableCollection <object>();
                LicenceSelected       = new ObservableCollection <object>();
            }

            await _dialogService.CloseLoadingPopup(pop);
        }
コード例 #20
0
        public override void OnRemovedRange(RangeRegionEventArgs e)
        {
            base.OnRemovedRange(e);
            PositionCollection positions = e.RangeRegion.GetCellsPositions();

            for (int i = 0; i < positions.Count; i++)
            {
                CellContext cellContext = new CellContext(Grid, positions[i]);
                Grid.Controller.OnSelectionRemoved(cellContext, e);
            }

            //Recalculate the rectangle border
            RecalcBorderRange();
        }
コード例 #21
0
        /// <summary>
        /// Returns the union of all the selected range as Position collection
        /// </summary>
        /// <returns></returns>
        public CellVirtualCollection GetCells()
        {
            if (m_CellBaseListCache == null)
            {
                m_CellBaseListCache = new CellVirtualCollection();
                PositionCollection l_Positions = GetCellsPositions();
                for (int i = 0; i < l_Positions.Count; i++)
                {
                    m_CellBaseListCache.Add(m_Grid.GetCell(l_Positions[i]));
                }
            }

            return(m_CellBaseListCache);
        }
コード例 #22
0
        private void SendOverallMatchData(ServerCommunicator communicator, CommandType commandType)
        {
            semaphore.Wait();

            Stream data = DataSerializer.CreateSerializedData(OverallMatchStandingCreator.Create(game, matchTimer,
                                                                                                 communicator != homeTeamCommunicator));

            PositionCollection test = DataSerializer.ReadSerializedData <OverallMatchStanding>(data).PositionCollection;

            PacketHeader header = PacketHeaderCreator.Create(commandType, MessageType.OverallMatchData, data.Length);

            communicator.SendDataAsPacket(new Packet(header, data));

            semaphore.Release();
        }
コード例 #23
0
        public Manager()
        {
            _managerId = -1;
            _firstName = string.Empty;
            _lastName  = string.Empty;
            _email     = string.Empty;
            _phoneCell = string.Empty;
            _address   = string.Empty;
            _city      = string.Empty;
            _state     = string.Empty;
            _zipcode   = string.Empty;
            _phoneWork = string.Empty;

            _positions = new PositionCollection();
        }
コード例 #24
0
        public void Insert_WithEmptyElement()
        {
            var pc         = new PositionCollection();
            var firstStart = pc.Create(5, Bias.Forward);
            var firstEnd   = pc.Create(10, Bias.Backward);

            var start = pc.Create(10, Bias.Forward);
            var end   = pc.Create(10, Bias.Backward);

            pc.InsertAt(10, 10);
            start.Offset.Should().Be(10);
            end.Offset.Should().Be(20);
            firstStart.Offset.Should().Be(5);
            firstEnd.Offset.Should().Be(20);
        }
コード例 #25
0
 public GraphDatum GetGraphDatum()
 {
     return(new GraphDatum
     {
         TripId = -1,
         Date = new DateTimeOffset(DateTime.Now),
         LostEnergy = (float)LostEnergyList.Sum(),
         ConvertLoss = (float)ConvertLossList.Sum(),
         AirResistance = (float)AirResistanceList.Sum(),
         RollingResistance = (float)RollingResistanceList.Sum(),
         RegeneLoss = (float)RegeneLossList.Sum(),
         TransitTime = (int)(PositionCollection.Last().Timestamp -
                             PositionCollection.First().Timestamp).TotalSeconds,
     });
 }
コード例 #26
0
        public void LinearJtg3ReadTest()
        {
            var versions = new[] { TimetableVersion.JTG3_0, TimetableVersion.JTG3_1 };

            foreach (var version in versions)
            {
                var tt = new Timetable(TimetableType.Linear);
                tt.SetVersion(version);

                // with trailing semicolon
                var s = new Station(tt)
                {
                    Attributes = { ["kml"] = "1.0", ["kmr"] = "1.0" }
                };
                var pos = new PositionCollection(s, tt);
                pos.TestForErrors(); // Should do nothing
                Assert.AreEqual(1.0f, pos.GetPosition(Timetable.LINEAR_ROUTE_ID));

                // Containing ints as position
                s = new Station(tt)
                {
                    Attributes = { ["kml"] = "123", ["kmr"] = "123" }
                };
                pos = new PositionCollection(s, tt);
                pos.TestForErrors(); // Should do nothing
                Assert.AreEqual(123f, pos.GetPosition(Timetable.LINEAR_ROUTE_ID));

                // Invalid
                s = new Station(tt)
                {
                    Attributes = { ["kml"] = "123;", ["kmr"] = "123;" }
                };
                Assert.Throws <FormatException>(() => new PositionCollection(s, tt));
                s = new Station(tt)
                {
                    Attributes = { ["kml"] = "123a", ["kmr"] = "123a" }
                };
                Assert.Throws <FormatException>(() => new PositionCollection(s, tt));

                // different
                s = new Station(tt)
                {
                    Attributes = { ["kml"] = "123", ["kmr"] = "124" }
                };
                Assert.Throws <NotSupportedException>(() => new PositionCollection(s, tt));
            }
        }
コード例 #27
0
ファイル: LoggingService.cs プロジェクト: AAU-projects/P8-API
        /// <summary>
        /// Creates a document with positions in the database
        /// </summary>
        /// <param name="userId">The id of the user</param>
        /// <param name="positions">The position listed to be stored</param>
        /// <returns>True if succeded</returns>
        public bool Create(string userId, List <Position> positions)
        {
            try
            {
                string now = DateTime.Now.ToString("dd-MM-yyyy");

                PositionCollection userCollection = _positions.Find(collection => collection.UserId == userId).FirstOrDefault();

                if (userCollection != null)
                {
                    // If user does exist.
                    int userDocumentIndex = userCollection.Documents.FindIndex(document => document.DateId == now);

                    if (userDocumentIndex == -1)
                    {
                        // If day does not exist.
                        AddDayToExistingUser(userId, positions, userCollection, now);
                    }
                    else
                    {
                        // Updates already existing day with positions
                        UpdateExistingDay(userId, positions, userCollection, userDocumentIndex);
                    }
                }
                else
                {
                    // If the user does not exist
                    AddPositionDay(userId, positions, now);
                }

                List <Trip> tripsResultList = _extractionService.ExtractTrips(positions);

                foreach (Trip trip in tripsResultList)
                {
                    trip.Transport = _tripService.PredictTransport(trip);
                }

                _extractionService.SaveTrips(tripsResultList, userId);
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
コード例 #28
0
        public void NetworkReadTest()
        {
            var tt = new Timetable(TimetableType.Network);
            var s  = new Station(tt)
            {
                Attributes = { ["km"] = "123:3.9;124:12.0" }
            };

            var pos = new PositionCollection(s, tt);

            pos.TestForErrors(); // Should do nothing
            Assert.AreEqual(3.9f, pos.GetPosition(123));
            Assert.AreEqual(12.0f, pos.GetPosition(124));

            // with trailing semicolon
            s = new Station(tt)
            {
                Attributes = { ["km"] = "123:3.9;124:12.0;" }
            };
            pos = new PositionCollection(s, tt);
            pos.TestForErrors(); // Should do nothing
            Assert.AreEqual(3.9f, pos.GetPosition(123));
            Assert.AreEqual(12.0f, pos.GetPosition(124));

            // Containing ints as position
            s = new Station(tt)
            {
                Attributes = { ["km"] = "123:3.9;124:12;" }
            };
            pos = new PositionCollection(s, tt);
            pos.TestForErrors(); // Should do nothing
            Assert.AreEqual(3.9f, pos.GetPosition(123));
            Assert.AreEqual(12.0f, pos.GetPosition(124));

            // Invalid
            s = new Station(tt)
            {
                Attributes = { ["km"] = "123:3.9;124:12;#" }
            };
            Assert.Throws <FormatException>(() => new PositionCollection(s, tt));

            // Network has no right/left
            Assert.AreEqual(false, s.Attributes.ContainsKey("kml"));
            Assert.AreEqual(false, s.Attributes.ContainsKey("kmr"));
        }
コード例 #29
0
        /// <summary>
        /// Deselect and remove from the collection the specified range of cells
        /// </summary>
        /// <param name="p_Range"></param>
        public void RemoveRange(Range p_Range)
        {
            if (p_Range.IsEmpty() == false)
            {
                Range l_RangeToDeselect = p_Range;

                //Apply SelectionMode
                if (m_SelMode == GridSelectionMode.Row)
                {
                    if (m_Grid.ColumnsCount > 0)
                    {
                        l_RangeToDeselect = new Range(p_Range.Start.Row, 0, p_Range.End.Row, m_Grid.ColumnsCount - 1);
                    }
                }
                else if (m_SelMode == GridSelectionMode.Col)
                {
                    if (m_Grid.RowsCount > 0)
                    {
                        l_RangeToDeselect = new Range(0, p_Range.Start.Column, m_Grid.RowsCount - 1, p_Range.End.Column);
                    }
                }

                //TODO bisognerebbe ottimizzare questo metodo
                // per ora scompatto i range correnti in tante celle e poi le celle contenute nel range da deselezionare le rimuovo
                PositionCollection l_CurrentRanges = GetCellsPositions();
                m_RangeList.Clear();
                bool l_bFound = false;
                for (int i = 0; i < l_CurrentRanges.Count; i++)
                {
                    if (l_RangeToDeselect.Contains(l_CurrentRanges[i]) == false)
                    {
                        m_RangeList.Add(new Range(l_CurrentRanges[i]));
                    }
                    else
                    {
                        l_bFound = true;
                    }
                }

                if (l_bFound)
                {
                    OnSelectionChange(new SelectionChangeEventArgs(SelectionChangeEventType.Remove, l_RangeToDeselect));
                }
            }
        }
コード例 #30
0
        /// <summary>
        /// Indicates if the specified range of cells is selected
        /// </summary>
        /// <param name="p_Range"></param>
        /// <returns></returns>
        public virtual bool Contains(RangeRegion p_Range)
        {
            if (p_Range.IsEmpty() || IsEmpty())
            {
                return(false);
            }

            PositionCollection positions = p_Range.GetCellsPositions();

            for (int i = 0; i < positions.Count; i++)
            {
                if (Contains(positions[i]) == false)
                {
                    return(false);
                }
            }

            return(true);
        }
コード例 #31
0
ファイル: PositionInfo.cs プロジェクト: xingfudaiyan/OA
 /// <summary>
 /// 批量装载
 /// </summary>
 internal static void LoadFromDALPatch(List< PositionInfo> pList, PositionCollection pCollection)
 {
     foreach (Position position in pCollection)
     {
         PositionInfo positionInfo = new PositionInfo();
         LoadFromDAL(positionInfo, position );
         pList.Add(positionInfo);
     }
 }
コード例 #32
0
ファイル: PositionInfo.cs プロジェクト: xingfudaiyan/OA
 /// <summary>
 /// 获得数据列表
 /// </summary>
 /// <returns></returns>
 public static List<PositionInfo> GetList()
 {
     string cacheKey = GetCacheKey();
     //本实体已经注册成缓存实体,并且缓存存在的时候,直接从缓存取
     if (CachedEntityCommander.IsTypeRegistered(typeof(PositionInfo)) && CachedEntityCommander.GetCache(cacheKey) != null)
     {
         return CachedEntityCommander.GetCache(cacheKey) as List< PositionInfo>;
     }
     else
     {
         List< PositionInfo>  list =new List< PositionInfo>();
         PositionCollection  collection=new  PositionCollection();
         Query qry = new Query(Position.Schema);
         collection.LoadAndCloseReader(qry.ExecuteReader());
         foreach(Position position in collection)
         {
             PositionInfo positionInfo= new PositionInfo();
             LoadFromDAL(positionInfo,position);
             list.Add(positionInfo);
         }
       	//生成缓存
         if (CachedEntityCommander.IsTypeRegistered(typeof(PositionInfo)))
         {
             CachedEntityCommander.SetCache(cacheKey, list);
         }
         return list;
     }
 }
コード例 #33
0
ファイル: Range.cs プロジェクト: wsrf2009/KnxUiEditor
		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		public PositionCollection GetCellsPositions()
		{
			PositionCollection l_List = new PositionCollection();
			for (int r = Start.Row; r <= End.Row; r++)
				for (int c = Start.Column; c <= End.Column; c++)
					l_List.Add(new Position(r,c));

			return l_List;
		}
コード例 #34
0
ファイル: PositionInfo.cs プロジェクト: xingfudaiyan/OA
        /// <summary>
        /// 获得分页列表,无论是否是缓存实体都从数据库直接拿取数据
        /// </summary>
        /// <param name="pPageIndex">页数</param>
        /// <param name="pPageSize">每页列表</param>
        /// <param name="pOrderBy">排序</param>
        /// <param name="pSortExpression">排序字段</param>
        /// <param name="pRecordCount">列表行数</param>
        /// <returns>数据分页</returns>
        public static List<PositionInfo> GetPagedList(int pPageIndex,int pPageSize,SortDirection pOrderBy,string pSortExpression,out int pRecordCount)
        {
            if(pPageIndex<=1)
            pPageIndex=1;
            List< PositionInfo> list = new List< PositionInfo>();

            Query q = Position .CreateQuery();
            q.PageIndex = pPageIndex;
            q.PageSize = pPageSize;
            q.ORDER_BY(pSortExpression,pOrderBy.ToString());
            PositionCollection  collection=new  PositionCollection();
             	collection.LoadAndCloseReader(q.ExecuteReader());

            foreach (Position  position  in collection)
            {
                PositionInfo positionInfo = new PositionInfo();
                LoadFromDAL(positionInfo,   position);
                list.Add(positionInfo);
            }
            pRecordCount=q.GetRecordCount();

            return list;
        }
コード例 #35
0
ファイル: MeshContent.cs プロジェクト: GhostTap/MonoGame
 /// <summary>
 /// Initializes a new instance of MeshContent.
 /// </summary>
 public MeshContent()
 {
     geometry = new GeometryContentCollection(this);
     positions = new PositionCollection();
 }
コード例 #36
0
ファイル: SelectionBase.cs プロジェクト: zhuangyy/Motion
        private Position SearchForValidFocusPosition(PositionCollection positions)
        {
            foreach (Position ps in positions)
            {
                if (CanReceiveFocus(ps))
                    return ps;
            }

            return Position.Empty;
        }
コード例 #37
0
ファイル: RangeRegion.cs プロジェクト: zhuangyy/Motion
        /// <summary>
        /// Returns a Collection of cells that represents the current class
        /// </summary>
        /// <returns></returns>
        public virtual PositionCollection GetCellsPositions()
        {
            PositionCollection positions = new PositionCollection();

            //Range
            for (int i = 0; i < m_RangeCollection.Count; i++)
            {
                positions.AddRange( m_RangeCollection[i].GetCellsPositions() );
            }

            return positions;
        }