Exemple #1
0
        /// <summary>
        /// Do the route guage algorithm here.
        /// </summary>
        private void DoRouteGuage()
        {
            // Cannot do anything with out these two components.
            if (mRealStartTransform == null ||
                mRealGoalTransfrom == null ||
                mSpriteStartTransform == null ||
                mSpriteGoalTransform == null)
            {
                return;
            }

            for (int index = 0;
                 index < mPlayersForm.Count;
                 ++index)
            {
                // 拿到選手
                PlayerRegisterForm prf = mPlayersForm[index];
                if (prf.playerTransform == null || prf.spriteTransform == null)
                {
                    continue;
                }

                PutPlayerSpriteInPositionBaseOnRealDistance(prf);

                // make sure player are in range.
                PutPlayerSpriteInRange(prf);
            }
        }
Exemple #2
0
        /// <summary>
        /// Measure the real world thing, then determine the positon
        /// of the sprite going to be located.
        /// </summary>
        /// <param name="prf">
        /// player to set.
        /// </param>
        private void PutPlayerSpriteInPositionBaseOnRealDistance(PlayerRegisterForm prf)
        {
            float statusBarCenter = mSpriteStartTransform.position.x + (mSpriteDistance / 2);

            Vector3 newSpritePos = prf.spriteTransform.position;

            newSpritePos.x = statusBarCenter + (prf.playerTransform.position.x * mDistanceRatio);
            prf.spriteTransform.position = newSpritePos;
        }
Exemple #3
0
        /// <summary>
        /// Make sure all the player sprite inside the sprite range.
        /// </summary>
        /// <param name="prf"></param>
        private void PutPlayerSpriteInRange(PlayerRegisterForm prf)
        {
            Vector3 playerSpritePos = prf.spriteTransform.position;

            Vector3 spriteGoalPos  = mSpriteGoalTransform.position;
            Vector3 spriteStartPos = mSpriteStartTransform.position;


            if (playerSpritePos.x > spriteGoalPos.x)
            {
                playerSpritePos.x = spriteGoalPos.x;
            }
            else if (playerSpritePos.x < spriteStartPos.x)
            {
                playerSpritePos.x = spriteStartPos.x;
            }

            prf.spriteTransform.position = playerSpritePos;
        }