コード例 #1
0
 /// <summary>
 /// Moves the cube to the place vector.
 /// The vector should be a grid vector.
 /// Returns if the move was sucessful.
 /// </summary>
 public bool Move(Engine engine, Vector3 place)
 {
     if (place != GridPosition)
     {
         if (Cube.IsMoveBlockSafe(engine, place))
         {
             Cube _placeCube = Cube.IsMoveCubeSafe(engine, place);
             if (_placeCube == null)
             {
                 Mode          = CubeMode.Moving;
                 Direction     = (place * Block.Size - DrawPosition) / Speed;
                 AnimationStep = Speed;
                 GridPosition  = place;
                 return(true);
             }
             else
             {
                 FoundCollision(engine, _placeCube, Vector3.Normalize(place * Block.Size - DrawPosition));
                 return(false);
             }
         }
         else
         {
             return(false);
         }
     }
     return(true);
 }
コード例 #2
0
        /// <summary>
        /// The update method for this block.
        /// </summary>
        public override void Update(Engine engine)
        {
            if (Mode == CubeMode.Moving)
            {
                if (AnimationStep > 0)
                {
                    DrawPosition += Direction;
                }
                else
                {
                    Mode         = CubeMode.Normal;
                    DrawPosition = GridPosition * Block.Size;
                    NewStep(engine);
                }

                AnimationStep--;
            }
        }
コード例 #3
0
ファイル: WorldCube.cs プロジェクト: adamgryu/HolidayEngine
        /// <summary>
        /// The update method for this block.
        /// </summary>
        public override void Update(Engine engine)
        {
            if (Mode == CubeMode.Moving)
            {
                if (AnimationStep > 0)
                {
                    DrawPosition += Direction;
                }
                else
                {
                    Mode = CubeMode.Normal;
                    DrawPosition = GridPosition * Block.Size;
                    NewStep(engine);
                }

                AnimationStep--;
            }
        }
コード例 #4
0
ファイル: WorldCube.cs プロジェクト: adamgryu/HolidayEngine
 /// <summary>
 /// Moves the cube to the place vector.
 /// The vector should be a grid vector.
 /// Returns if the move was sucessful.
 /// </summary>
 public bool Move(Engine engine, Vector3 place)
 {
     if (place != GridPosition)
         if (Cube.IsMoveBlockSafe(engine, place))
         {
             Cube _placeCube = Cube.IsMoveCubeSafe(engine, place);
             if (_placeCube == null)
             {
                 Mode = CubeMode.Moving;
                 Direction = (place * Block.Size - DrawPosition) / Speed;
                 AnimationStep = Speed;
                 GridPosition = place;
                 return true;
             }
             else
             {
                 FoundCollision(engine, _placeCube, Vector3.Normalize(place * Block.Size - DrawPosition));
                 return false;
             }
         }
         else
             return false;
     return true;
 }