Ejemplo n.º 1
0
 // Token: 0x060021E9 RID: 8681 RVA: 0x0007CF48 File Offset: 0x0007B148
 private void UnstickInvoke()
 {
     if (this.hasUnstickPosition)
     {
         try
         {
             if (this.unstickTransform)
             {
                 this.unstickTransform.position = this.nextUnstickPosition;
                 global::Character component = this.unstickTransform.GetComponent <global::Character>();
                 if (component)
                 {
                     global::CCMotor ccmotor = component.ccmotor;
                     if (ccmotor)
                     {
                         ccmotor.Teleport(this.nextUnstickPosition);
                     }
                 }
             }
         }
         finally
         {
             this.hasUnstickPosition = false;
         }
     }
 }
Ejemplo n.º 2
0
    // Token: 0x06000403 RID: 1027 RVA: 0x0001383C File Offset: 0x00011A3C
    private void UpdateStateNew(Vector3 origin, global::Angle2 eyesAngles, ushort stateFlags, double timestamp)
    {
        global::Character idMain = base.idMain;

        if (this.firstState)
        {
            this.firstState         = false;
            idMain.origin           = origin;
            idMain.eyesAngles       = eyesAngles;
            idMain.stateFlags.flags = stateFlags;
            return;
        }
        if (base.networkView.isMine)
        {
            idMain.origin           = origin;
            idMain.eyesAngles       = eyesAngles;
            idMain.stateFlags.flags = stateFlags;
            global::CCMotor ccmotor = base.ccmotor;
            if (ccmotor)
            {
                ccmotor.Teleport(origin);
            }
        }
        else
        {
            global::CharacterInterpolatorBase interpolator = base.interpolator;
            if (interpolator)
            {
                global::IStateInterpolator <global::CharacterStateInterpolatorData> stateInterpolator = interpolator as global::IStateInterpolator <global::CharacterStateInterpolatorData>;
                if (stateInterpolator != null)
                {
                    global::CharacterStateInterpolatorData characterStateInterpolatorData;
                    characterStateInterpolatorData.origin      = origin;
                    characterStateInterpolatorData.state.flags = stateFlags;
                    characterStateInterpolatorData.eyesAngles  = eyesAngles;
                    stateInterpolator.SetGoals(ref characterStateInterpolatorData, ref timestamp);
                }
                else
                {
                    idMain.stateFlags.flags = stateFlags;
                    interpolator.SetGoals(origin, eyesAngles.quat, timestamp);
                }
            }
        }
    }