HelloWorld.Coordinate.GetCoordinate C# (CSharp) Method

GetCoordinate() public method

public GetCoordinate ( Direction direction ) : Coordinate
direction Direction
return Coordinate
        public Coordinate GetCoordinate( Direction direction )
        {
            switch ( direction )
              {
            case Direction.NorthWest:
              return this + nw;
            case Direction.NorthEast:
              return this + ne;
            case Direction.East:
              return this + e;
            case Direction.SouthEast:
              return this + se;
            case Direction.SouthWest:
              return this + sw;
            case Direction.West:
              return this + w;
            default:
              throw new InvalidOperationException();
              }
        }

Usage Example

示例#1
0
文件: Unit.cs 项目: Ivony/HelloWorld
        /// <summary>
        /// 移动单位
        /// </summary>
        /// <param name="direction">移动方向</param>
        /// <returns>是否成功</returns>
        public virtual bool Move(Direction direction)
        {
            var now = DateTime.UtcNow;

            Check(now);


            var target = GameHost.DataService.GetPlace(Coordinate.GetCoordinate(direction));



            lock ( SyncRoot )
            {
                var m = MobilityRequired(target);

                if (Mobility < m || m == -1)
                {
                    return(false);
                }


                Coordinate  = target.Coordinate;
                Mobility   -= m;
                LastActTime = now;


                Save();
                return(true);
            }
        }