// Token: 0x060011C6 RID: 4550 RVA: 0x000696A8 File Offset: 0x000678A8
	public void PerformJump()
	{
		this.m_currentJumpingMaterial = SurfaceToSoundProviderMap.ColliderMaterialToSurfaceMaterialType(this.Sein.PlatformBehaviour.PlatformMovementListOfColliders.GroundCollider);
		if (this.Sein.Controller.IsCrouching)
		{
			this.PerformCrouchJump();
			Sound.Play(this.JumpSoundProvider.GetSoundForMaterial(this.m_currentJumpingMaterial, null), this.Sein.PlatformBehaviour.PlatformMovement.Position, null);
		}
		else if (this.HasSharplyTurnedAround)
		{
			this.PerformTurnAroundBackFlipJump();
			Sound.Play(this.FlipJumpSoundProvider.GetSoundForMaterial(this.m_currentJumpingMaterial, null), this.Sein.PlatformBehaviour.PlatformMovement.Position, null);
		}
		else if (this.Sein.PlatformBehaviour.LeftRightMovement.HorizontalInput == 0f || this.PlatformMovement.IsOnWall)
		{
			if (this.PlatformMovement.IsOnWall && this.Sein.PlayerAbilities.WallJump.HasAbility && this.Sein.Abilities.WallSlide.IsOnWall)
			{
				this.PerformWallSlideJump();
				Sound.Play(this.JumpSoundProvider.GetSoundForMaterial(this.m_currentJumpingMaterial, null), this.Sein.PlatformBehaviour.PlatformMovement.Position, null);
			}
			else
			{
				this.PerformIdleJump();
			}
		}
		else
		{
			this.PerformRunningJump();
		}
		GameObject gameObject = (GameObject)InstantiateUtility.Instantiate(this.JumpParticleEffect, this.Sein.PlatformBehaviour.PlatformMovement.FeetPosition, Quaternion.identity);
		gameObject.transform.eulerAngles = new Vector3(0f, 0f, MoonMath.Angle.AngleFromVector(-this.Sein.PlatformBehaviour.PlatformMovement.LocalSpeed));
		this.Sein.PlatformBehaviour.Force.ApplyGroundForce(Vector3.down * this.JumpImpulse, 1);
		this.OnJumpEvent(this.PlatformMovement.LocalSpeedY);
		JumpFlipPlatform.OnSeinJumpEvent();
		this.m_timeWeCanJumpRemaining = 0f;
	}
Exemplo n.º 2
0
 // Token: 0x060018E6 RID: 6374
 public void OnCollision(Collision collision)
 {
     this.m_floorNormal = PhysicsHelper.CalculateAverageNormalFromContactPoints(collision.contacts);
     this.m_movingGround.SetGround(collision.transform);
     this.Surface = SurfaceToSoundProviderMap.ColliderMaterialToSurfaceMaterialType(collision.collider);
 }