// Token: 0x06000F23 RID: 3875 RVA: 0x0004ACAC File Offset: 0x00048EAC private void HandleCreateExpEffectInternal(NetworkMessage netMsg) { netMsg.ReadMessage <ExperienceManager.CreateExpEffectMessage>(ExperienceManager.currentIncomingCreateExpEffectMessage); GameObject targetBody = ExperienceManager.currentIncomingCreateExpEffectMessage.targetBody; if (!targetBody) { return; } HurtBox hurtBox = Util.FindBodyMainHurtBox(targetBody); Transform targetTransform = ((hurtBox != null) ? hurtBox.transform : null) ?? targetBody.transform; List <ulong> list = this.CalculateDenominations(ExperienceManager.currentIncomingCreateExpEffectMessage.awardAmount); uint num = 0u; for (int i = 0; i < list.Count; i++) { ExperienceOrbBehavior component = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/ExpOrb"), ExperienceManager.currentIncomingCreateExpEffectMessage.origin, Quaternion.identity).GetComponent <ExperienceOrbBehavior>(); component.targetTransform = targetTransform; component.travelTime = ExperienceManager.CalcOrbTravelTime(ExperienceManager.orbTimeOffsetSequence[(int)num]); component.exp = list[i]; num += 1u; if ((ulong)num >= (ulong)((long)ExperienceManager.orbTimeOffsetSequence.Length)) { num = 0u; } } }
// Token: 0x06000AD9 RID: 2777 RVA: 0x0002FE90 File Offset: 0x0002E090 private void Update() { this.localTime += Time.deltaTime; if (!this.targetTransform) { UnityEngine.Object.Destroy(base.gameObject); return; } float num = Mathf.Clamp01(this.localTime / this.travelTime); this.previousPos = this.transform.position; this.transform.position = ExperienceOrbBehavior.CalculatePosition(this.startPos, this.initialVelocity, this.targetTransform.position, num); if (num >= 1f) { this.OnHitTarget(); return; } }