Esempio n. 1
0
 protected virtual void StackActionHistory(Coop_Model_ObjectBase stack_model, bool is_act_model)
 {
     //IL_005b: Unknown result type (might be due to invalid IL or missing references)
     //IL_0060: Unknown result type (might be due to invalid IL or missing references)
     //IL_0071: Unknown result type (might be due to invalid IL or missing references)
     //IL_0076: Unknown result type (might be due to invalid IL or missing references)
     //IL_0079: Unknown result type (might be due to invalid IL or missing references)
     //IL_007e: Unknown result type (might be due to invalid IL or missing references)
     if (is_act_model)
     {
         ClearActionHistory();
     }
     else if (actionHistoryList.Count <= 0)
     {
         return;
     }
     if (actionHistoryList.Count <= 0)
     {
         actionHistoryData           = new ActionHistoryData();
         actionHistoryData.startTime = Time.get_time();
         actionHistoryData.startPos  = owner._position;
         ActionHistoryData obj         = actionHistoryData;
         Quaternion        rotation    = owner._rotation;
         Vector3           eulerAngles = rotation.get_eulerAngles();
         obj.startDir = eulerAngles.y;
     }
     actionHistoryList.Add(stack_model);
 }
Esempio n. 2
0
 public virtual bool GetPredictivePosition(out Vector3 pos)
 {
     //IL_0001: Unknown result type (might be due to invalid IL or missing references)
     //IL_0006: Unknown result type (might be due to invalid IL or missing references)
     //IL_0045: Unknown result type (might be due to invalid IL or missing references)
     //IL_004a: Unknown result type (might be due to invalid IL or missing references)
     pos = Vector3.get_zero();
     for (int num = base.packets.Count - 1; num >= 0; num--)
     {
         CoopPacket            coopPacket = base.packets[num];
         Coop_Model_ObjectBase model      = coopPacket.GetModel <Coop_Model_ObjectBase>();
         if (model != null && model.IsHaveObjectPosition())
         {
             pos = model.GetObjectPosition();
             return(true);
         }
     }
     return(false);
 }
Esempio n. 3
0
 protected override void PacketUpdate()
 {
     if (!base.stopPacketUpdate)
     {
         if (forceFlags == null)
         {
             forceFlags = new List <bool>(base.packets.Count);
         }
         else
         {
             forceFlags.Clear();
             if (forceFlags.Capacity < base.packets.Count)
             {
                 forceFlags.Capacity = base.packets.Count;
             }
         }
         int i = 0;
         for (int count = base.packets.Count; i < count; i++)
         {
             CoopPacket            coopPacket = base.packets[i];
             bool                  item       = false;
             Coop_Model_ObjectBase model      = coopPacket.GetModel <Coop_Model_ObjectBase>();
             if (model != null)
             {
                 item = model.IsForceHandleBefore(owner);
             }
             forceFlags.Add(item);
         }
         int j = 0;
         for (int count2 = base.packets.Count; j < count2; j++)
         {
             CoopPacket coopPacket2 = base.packets[j];
             if (!CheckFilterPacket(coopPacket2))
             {
                 AddDeleteQueue(coopPacket2);
             }
             else
             {
                 bool flag = true;
                 Coop_Model_ObjectBase model2 = coopPacket2.GetModel <Coop_Model_ObjectBase>();
                 if (model2 != null)
                 {
                     bool flag2 = false;
                     for (int k = j + 1; k < count2; k++)
                     {
                         if (forceFlags[k])
                         {
                             flag2 = true;
                             break;
                         }
                     }
                     if (!flag2)
                     {
                         float num = 0f;
                         if (MonoBehaviourSingleton <InGameSettingsManager> .IsValid())
                         {
                             num = MonoBehaviourSingleton <InGameSettingsManager> .I.stageObject.packetHandleMarginTime;
                         }
                         if (Time.get_time() > model2.GetReceiveTime() + num)
                         {
                             flag = true;
                             if (!model2.IsHandleable(owner))
                             {
                                 int       num2      = -1;
                                 Character character = owner as Character;
                                 if (character != null)
                                 {
                                     num2 = (int)character.actionID;
                                 }
                                 Log.Warning(LOG.COOP, "ObjectPacketReceiver::PacketUpdate() Err. ( Over packetHandleMarginTime. ) type : " + coopPacket2.packetType + ", action_id : " + num2);
                             }
                         }
                         else
                         {
                             flag = model2.IsHandleable(owner);
                         }
                     }
                 }
                 if (!flag || !HandleCoopEvent(coopPacket2))
                 {
                     if (Time.get_time() > model2.GetReceiveTime() + 20f)
                     {
                         Log.Warning(LOG.COOP, "ObjectPacketReceiver::PacketUpdate() Err. ( Over 20 Second. ) type : " + coopPacket2.packetType);
                     }
                     break;
                 }
                 AddDeleteQueue(coopPacket2);
                 if (base.stopPacketUpdate)
                 {
                     break;
                 }
             }
         }
         EraseUsedPacket();
     }
 }