protected override void ButtonUpdate() { this.m_stateUpdateTimer += Time.deltaTime; if (this.m_stateUpdateTimer >= 0.2f) { this.UpdateState(); this.m_stateUpdateTimer = 0f; } if (this.m_partsEnabled) { this.m_enabledTimer += Time.deltaTime; if (this.m_partType == BasePart.PartType.Bellows) { Vector3 localScale = this.m_gadgetSprite.transform.localScale; localScale.y = Bellows.CompressionScale(this.m_enabledTimer); this.m_gadgetSprite.transform.localScale = localScale; if (this.m_enabledTimer > 0.8f + ((!Bellows.HasAlienBellows) ? 0.3f : 0.15f)) { this.m_enabledTimer = 0f; } } else { this.m_gadgetSprite.transform.localPosition = (Vector3)UnityEngine.Random.insideUnitCircle * 0.075f + new Vector3(0f, 0f, -0.1f); } } }
public void FixedUpdate() { float num = Time.time - this.m_timeBoostStarted; if (num > 0.8f + this.InflateDuration) { this.m_enabled = false; return; } if (num < 0.5f) { this.m_enabled = true; float num2 = 1f - num / 0.5f; num2 = 1f - num2 * num2; float d = num2 * this.m_boostForce; Vector3 vector = base.transform.TransformDirection(this.m_direction); Vector3 position = base.transform.position + vector * 0.5f; Vector3 a = vector; base.rigidbody.AddForceAtPosition(d * a, position, ForceMode.Force); } Vector3 one = Vector3.one; one.y *= Bellows.CompressionScale(num); if (this.scaleTarget != null) { this.scaleTarget.localScale = one; } else { base.transform.localScale = one; } }