Exemplo n.º 1
0
        public PlayerSetMovements(Transform transform, GameObject gameObject, PlayerMove move,
                                  PlayerRotate rotate, PlayerFall fall, PlayerAnimator animations, PlayerRespawn respawner, GameObject water_effect)
        {
            this.transform    = transform;
            this.gameObject   = gameObject;
            this.move         = move;
            this.rotate       = rotate;
            this.fall         = fall;
            this.animations   = animations;
            this.respawner    = respawner;
            this.water_effect = water_effect;

            is_falling           = false;
            extra_movement_speed = 0;
            previous_ray         = new RaycastHit();
            previous_ray_exist   = false;
            speed_boost          = 1f;
        }
Exemplo n.º 2
0
 public void OnCollision(GameObject player_object, Collider collider, PlayerRotate rotate)
 {
     if (collider.gameObject.tag == "Monster")
     {
         respawner.KillPlayer(player_object, PlayerAnimations.Death, true);
     }
     else if ((collider.gameObject.tag == "Arrow") && (rotating_with_arrow == false))
     {
         Quaternion collider_rotation = collider.transform.rotation;
         collider_rotation.x  = 0;
         collider_rotation.y  = 0;
         arrow_rotation_angle = collider_rotation.eulerAngles.z;
         CalculateRotationAngle();
         rotating_with_arrow = true;
     }
     else if (collider.gameObject.tag == "Checkpoint")
     {
         Vector3 respawn_position;
         respawn_position = collider.transform.position;
         if (collider.transform.parent != null)
         {
             if (collider.transform.parent.tag == "Checkpoint")
             {
                 respawn_position = collider.transform.parent.position;
             }
         }
         respawn_position.y -= 1;
         respawner.SetRespawnPosition(respawn_position);
     }
     else if (collider.gameObject.tag == "Teleporter")
     {
         player_object.transform.position = collider.gameObject.transform.GetChild(DESTINATION_INDEX).position;
         rotate.StopRotating();
         //SpawnPool general_pool = PoolManager.Pools[CurrentLevel.GetGeneralPoolName()];
         //general_pool.Spawn(checkpoint_effect, collider.transform.position, new Quaternion(90, 0, 0, 0));
     }
     else if (collider.gameObject.tag == "Lever")
     {
         collider.gameObject.tag = "LeverTriggered";
         bool open_door = true;
         foreach (Transform children in collider.gameObject.transform.parent)
         {
             if (children.tag == "Lever")
             {
                 open_door = false;
             }
         }
         if (open_door)
         {
             collider.gameObject.transform.parent.tag = "DoorOpen";
         }
     }
     else if (collider.gameObject.tag == "SpeedUp")
     {
         player_object.GetComponent <Player>().ActivateSpeedBoost(true);
     }
     else if (collider.gameObject.tag == "SpeedDown")
     {
         player_object.GetComponent <Player>().ActivateSpeedBoost(false);
     }
 }