コード例 #1
0
        // 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;
                }
            }
        }
コード例 #2
0
        // 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;
            }
        }