Esempio n. 1
0
 void OnTriggerEnter(Collider other)
 {
     other.gameObject.SendMessage("ObstacleTriggerEnter", gameObject.name, SendMessageOptions.DontRequireReceiver);
     if (other.name.Contains("Character"))
     {
         PlayerKinematicBehaviour pk = other.gameObject.GetComponent <PlayerKinematicBehaviour>();
         if (pk.InputEnabled)
         {
             generalSounds.SendMessage("PlayGeneralSound", GeneralSoundsManager.GeneralSounds.static_obstacle);
         }
     }
 }
Esempio n. 2
0
 void OnTriggerEnter(Collider other)
 {
     if (isEnterActive && other.name.Contains("Character"))
     {
         isExitActive  = true;
         isEnterActive = false;
         other.gameObject.SendMessage("ObstacleTriggerEnter", name, SendMessageOptions.DontRequireReceiver);
         if (/*soundEnabled && */ other.name.Contains("Character"))
         {
             PlayerKinematicBehaviour pk = other.gameObject.GetComponent <PlayerKinematicBehaviour>();
             if (pk.InputEnabled)
             {
                 generalSounds.SendMessage("PlayGeneralSound", GeneralSoundsManager.GeneralSounds.static_obstacle);
             }
         }
     }
 }
Esempio n. 3
0
    void Update()
    {
        string target = "";

        if (gameplayManager.Gameplay == GameplayManager.GameplayType.Navigation)
        {
            if (null != gameplayManager.CurrentTarget)
            {
                target = gameplayManager.CurrentTarget.type.ToString();
            }
        }

        //chack passing player
        if (null != gameplayManager.Character)
        {
            Vector3 playerPos = gameplayManager.Character.transform.position;
            //if ((playerPos - transform.position).magnitude < 9.0f)
            //if (currentToken == gameplayManager.Character.GetComponent<PlayerKinematicBehaviour>().getto
            if (gameplayManager.Character.GetComponent <PlayerKinematicBehaviour>().CurrentTokenHit != null)
            {
                if (gameplayManager.Character.GetComponent <PlayerKinematicBehaviour>().CurrentTokenHit.token == currentToken)
                {
                    Vector3 localCharacterPosition = transform.InverseTransformPoint(playerPos);
                    isPassingPlayer = (Mathf.Abs(localCharacterPosition.x) < 1.0f);
                    if (isPassingPlayer)
                    {
                        if (isLastPassingPlayer != isPassingPlayer)
                        {
                            isLastPassingPlayer = isPassingPlayer;
                        }

                        if (!playerHit)
                        {
                            playerHit = gameplayManager.Character.GetComponent <PlayerKinematicBehaviour>().Collided;
                        }
                    }
                    else
                    {
                        if (isLastPassingPlayer != isPassingPlayer)
                        {
                            if (!playerHit)
                            {
                                gameplayManager.ObstaclePassedCounterForTarget++;
                                gameplayManager.ObstaclePassedCounter++;
                                gameplayManager.TotalObstaclePassedCounter++;

                                TrackingManager.Instance.LogEntry(TrackingManager.Command.Event, target, playerPos, "passed_obs", name);
                                gameplayManager.SendMessage("ObstacleAvoided", 1);

                                generalSounds.SendMessage("PlayGeneralSound", GeneralSoundsManager.GeneralSounds.obst_Passed);
                            }
                            playerHit           = false;
                            isLastPassingPlayer = isPassingPlayer;
                        }
                    }
                }
            }
        }

        if (isAnimated)
        {
            if (isActive)
            {
                if (null != gameplayManager.Character)
                {
                    Vector3 playerPos = gameplayManager.Character.transform.position;
                    Vector3 playerFw  = gameplayManager.Character.transform.forward;
                    Vector3 localCharacterPosition = transform.InverseTransformPoint(playerPos);
                    if (Mathf.Abs(localCharacterPosition.x) < activationDistance) // && localCharacterPosition.z > -1 && localCharacterPosition.z < 10)
                    {
                        bool start = false;
                        if (gameplayManager.Level == 0)
                        {
                            start = (localCharacterPosition.z < 1 && localCharacterPosition.z > -10);
                        }
                        else
                        {
                            start = (localCharacterPosition.z > -1 && localCharacterPosition.z < 10);
                        }

                        if (start)
                        {
                            isActive = false;
                            //StartAnimation();
                            if (null != animChild)
                            {
                                StartMoveTo(playerPos + playerFw * Random.Range(2.0f, 4.0f));
                                if (null != TrackingManager.Instance)
                                {
                                    TrackingManager.Instance.LogEntry(TrackingManager.Command.Event, target, playerPos, "move_obs", name);
                                }
                            }
                        }
                    }
                }
            }

            UpdateMoveTo();

            /*if (obstacleAnimation.Count > 0)
             * {
             *  foreach (Animation anim in obstacleAnimation)
             *  {
             *      if (anim.isPlaying)
             *      {
             *          float longitudinal, trasversal;
             *          currentToken.WorldToToken(anim.transform.GetChild(0).position, out longitudinal, out trasversal);
             *
             *          if (trasversal <= stopTrasversal)
             *              StopAnimation();
             *      }
             *  }
             * }*/
        }
    }