Example #1
0
        protected void CreateStats()
        {
            GameObject statsPrefab = ResourceCache.getPrefab("prefabs/PieceStats");
            GameObject statsObj    = Instantiate(statsPrefab, gameObject.transform) as GameObject;

            Stats = statsObj.GetComponent <PieceStats>();
            Stats.transform.localPosition = new Vector3(0, 0, 0);
        }
Example #2
0
    //public void InitializeMoving()
    //{

    //}
    public bool MovePiece()//bool isStarting, bool forward, Board.Direction direction, MoveSet moveSet)
    {
        //if (isStarting) InitializeMoves(direction, moveSet);
        PieceMove move       = moveSet.GetMove();
        Vector3   moveVector = move.ForwardVector();
        float     friction   = currentBoardLoc.GetFriction(transform.position.x, transform.position.z);

        moveVector = friction * Speed * Time.deltaTime * moveVector;
        float remainingDistance = Vector3.Distance(transform.position, move.GetEndLoc());

        if (remainingDistance > moveVector.magnitude)
        {
            transform.position += moveVector;
        }
        else
        {
            //PieceMove nextMove = moveSet.GetNextMove(transform.position, this, currentBoardLoc, pieceDirection);
            if (moveSet.HasNextMove())
            {
                BoardSpace nextSpace = currentBoardLoc.GetSpaceByDirection(pieceDirection);
                pieceDirection = move.Direction;
                PieceMove nextMove = moveSet.GetNextMove(transform.position, this, currentBoardLoc, pieceDirection);
                //currentBoardLoc = nextSpace;
                move = nextMove;
                float deltaTime = Time.deltaTime * moveVector.magnitude / remainingDistance;
                moveVector = move.ForwardVector();
                friction   = 1; //currentBoardLoc.GetFriction()
                moveVector = friction * Speed * deltaTime * moveVector;
            }
            else
            {
                transform.position = move.GetEndLoc();

                PieceStat = PieceStats.idle;
                return(false);
            }
        }

        return(true);
    }
Example #3
0
 /// <summary>
 /// Initialize MoveSet
 /// </summary>
 /// <returns><c>true</c>, if piece was moved, <c>false</c> otherwise.</returns>
 /// <param name="moveSet">Move set.</param>
 /// <param name="direction">Direction.</param>
 ///
 public bool MovePiece(MoveSet moveSet, Board.Direction direction)
 {
     InitializeMoves(direction, moveSet);
     PieceStat = PieceStats.isMoving;
     return(MovePiece());
 }