예제 #1
0
        /// <summary>
        /// Find adjacencies around me
        /// </summary>
        public void CheckAdjacencies()
        {
            this.Adjacencies = PathAdjacencies.None;

            for (int i = 0; i < Path.dx.Length; ++i)
            {
                int nx = this.WorldPosition.x + Path.dx[i];
                int ny = this.WorldPosition.y + Path.dy[i];

                if (nx < 0 || ny < 0 || nx > GameScreen.GameWidth || ny > GameScreen.GameHeight)
                {
                    continue;
                }

                var element = CampusManager.Instance.ElementAtWorldPosition(nx, ny);
                if (element != null && element is Path)
                {
                    this.Adjacencies |= (PathAdjacencies)(1 << i);
                }
            }
        }
예제 #2
0
파일: Path.cs 프로젝트: GoodSky/Sim-U
        /// <summary>
        /// Find adjacencies around me
        /// </summary>
        public void CheckAdjacencies()
        {
            this.Adjacencies = PathAdjacencies.None;

            for (int i = 0; i < Path.dx.Length; ++i)
            {
                int nx = this.WorldPosition.x + Path.dx[i];
                int ny = this.WorldPosition.y + Path.dy[i];

                if (nx < 0 || ny < 0 || nx > GameScreen.GameWidth || ny > GameScreen.GameHeight)
                    continue;

                var element = CampusManager.Instance.ElementAtWorldPosition(nx, ny);
                if (element != null && element is Path)
                {
                    this.Adjacencies |= (PathAdjacencies)(1 << i);
                }
            }
        }