Exemple #1
0
 void OnTriggerEnter(Collider col)
 {
     if (this.enabled)
     {
         if (!firsttimehit)
         {
             if (col.gameObject.tag.Equals(GameConstant.KNOB_COL))
             {
                 movePositionUp   = col.gameObject.GetComponent <KnobController> ().upPosition [1].position;
                 movePositionDown = col.gameObject.GetComponent <KnobController> ().downPosition [1].position;
                 rotationSpeed    = 1.8f;
                 curRadiusState   = RadiusState.None;
                 curMovementState = MovementState.None;
                 OnMoveUp();
             }
             else if (col.gameObject.tag.Equals(GameConstant.POCKET_COL))
             {
                 if (!firsttimehit)
                 {
                     curRadiusState   = RadiusState.None;
                     curMovementState = MovementState.None;
                     firsttimehit     = true;
                     ballholder       = col.gameObject.GetComponent <BallHolder> ();
                     curMovementState = MovementState.JumpUpSide;
                 }
             }
             else if (col.gameObject.tag.Equals(GameConstant.OBSTACLE_COL))
             {
                 Debug.Log("Obstacle......");
                 if (curHitState == HitState.Obstacle)
                 {
                     curRadiusState   = RadiusState.None;
                     curMovementState = MovementState.CurveMovement;
                     AddRouletteChild();
                 }
                 if (col.gameObject.name.Equals(GameConstant.OBSTACLE_NAME))
                 {
                     curHitState = HitState.Obstacle;
                     if (rotationSpeed >= 2f)
                     {
                         reduceSpeedFactor = reduceSpeedFactor * 3.2f;
                     }
                     else if ((rotationSpeed >= 1.5f) && (rotationSpeed < 2f))
                     {
                         reduceSpeedFactor = reduceSpeedFactor * 2.5f;
                     }
                     else if ((rotationSpeed >= 1f) && (rotationSpeed < 1.5f))
                     {
                         reduceSpeedFactor = reduceSpeedFactor * 2.0f;
                     }
                 }
             }
             else if (col.gameObject.tag.Equals(GameConstant.CONE_COL))
             {
                 rigidbody.isKinematic = false;
                 curMovementState      = MovementState.InsideSlotMove;
             }
         }
     }
 }
Exemple #2
0
 public void Int()
 {
     DeAttachedChild();
     curRadiusState          = RadiusState.InitialDecRadius;
     curHitState             = HitState.None;
     transform.position      = startPosition;
     curMovementState        = MovementState.Normal;
     outerRadius             = 1.67f;
     rotationSpeed           = 3.4f;
     reduceSpeedFactor       = rotationSpeed / 350f;
     slotInsideMovementSpeed = 1f;
     timer               = 0f;
     tempTimer           = 0f;
     angle               = 0;
     initialMovementTime = Random.Range(10f, 15f);
     rigidbody           = this.GetComponent <Rigidbody> ();
     hitPoint            = 2f;
     firsttimehit        = false;
 }
Exemple #3
0
 private void OnCompleteMoveDown()
 {
     rotationSpeed    = 2.5f;
     curMovementState = MovementState.Normal;
     curRadiusState   = RadiusState.DecRadius;
 }
Exemple #4
0
        //Ball movement in predefine radius
        void MoveAround()
        {
            angle = timer;
            if (curRadiusState == RadiusState.InitialDecRadius)
            {
                if (timer > initialMovementTime)
                {
                    if (!GameController.Instance.rouletteRotation.canSpeedReduced)
                    {
                        GameController.Instance.rouletteRotation.ReduceSpeed();
                    }
                    tempTimer = timer - initialMovementTime;
                    tempTimer = tempTimer / 4000.0f;

                    outerRadius = outerRadius - tempTimer;
                    if (outerRadius < 1.6f)
                    {
                        outerRadius = 1.6f;
                    }
                }
            }
            else if (curRadiusState == RadiusState.DecRadius)
            {
                tempTimer   = timer;
                tempTimer   = tempTimer / 400.0f;
                outerRadius = outerRadius - tempTimer;
                if (outerRadius < 1.45f)
                {
                    //outerRadius = 1.2f;
                    curRadiusState = RadiusState.IncRadius;
                    if (rotationSpeed < 0.8f)
                    {
                        rotationSpeed = 0.8f;
                    }
                }
            }
            else if (curRadiusState == RadiusState.IncRadius)
            {
                tempTimer   = timer;
                tempTimer   = tempTimer / 1000.0f;
                outerRadius = outerRadius + tempTimer;
                if (outerRadius < 1.55f)
                {
                    curRadiusState = RadiusState.DecRadiusSpeed;
                    rotationSpeed  = rotationSpeed - reduceSpeedFactor;
                    if (rotationSpeed < 0.8f)
                    {
                        rotationSpeed = 0.8f;
                    }
                }
            }
            else if (curRadiusState == RadiusState.DecRadiusSpeed)
            {
                tempTimer   = timer;
                tempTimer   = tempTimer / 10000.0f;
                outerRadius = outerRadius - tempTimer;

                rotationSpeed = rotationSpeed - reduceSpeedFactor;

                if (rotationSpeed < 0.8f)
                {
                    rotationSpeed = 0.8f;
                }
            }
            else if (curRadiusState == RadiusState.DecRadiusSpeedInc)
            {
                //tempTimer = timer;
                tempTimer   = radiusdec / 60f;
                outerRadius = outerRadius - tempTimer;
            }

            if (outerRadius < 1.35f)
            {
                outerRadius = 1.35f;
            }

            base.BallMovementCircle();
        }