Guest User

Untitled

a guest
Jul 17th, 2019
590
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 16.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Runtime.CompilerServices;
  6. using Comfort.Common;
  7. using EFT.HealthSystem;
  8. using EFT.InventoryLogic;
  9. using UnityEngine;
  10.  
  11. namespace EFT
  12. {
  13.     // Token: 0x02000E1A RID: 3610
  14.     public abstract class NetworkPlayer : Player
  15.     {
  16.         // Token: 0x06004E59 RID: 20057 RVA: 0x001EE194 File Offset: 0x001EC394
  17.         internal static T smethod_16<T>(ResourceKey resourceKey_0, int int_4, Vector3 vector3_3, string string_3, GInterface52 ginterface52_1, Func<CharacterController, GInterface153> func_7, EUpdateQueue eupdateQueue_0, Player.EUpdateMode eupdateMode_0, Player.EUpdateMode eupdateMode_1, CharacterControllerSpawner.Mode mode_0, Func<float> func_8, Func<float> func_9) where T : NetworkPlayer
  18.         {
  19.             T result = Player.Create<T>(resourceKey_0, int_4, vector3_3, func_7, eupdateQueue_0, eupdateMode_0, eupdateMode_1, mode_0, func_8, func_9, string_3);
  20.             result.FrameIndexer = ginterface52_1;
  21.             return result;
  22.         }
  23.  
  24.         // Token: 0x17000B3C RID: 2876
  25.         // (get) Token: 0x06004E5A RID: 20058 RVA: 0x000CE26E File Offset: 0x000CC46E
  26.         protected GClass1074 NetworkHealthController
  27.         {
  28.             get
  29.             {
  30.                 return base.HealthController as GClass1074;
  31.             }
  32.         }
  33.  
  34.         // Token: 0x17000B3D RID: 2877
  35.         // (get) Token: 0x06004E5B RID: 20059
  36.         public abstract byte ChannelIndex { get; }
  37.  
  38.         // Token: 0x17000B3E RID: 2878
  39.         // (get) Token: 0x06004E5C RID: 20060 RVA: 0x000CE27B File Offset: 0x000CC47B
  40.         // (set) Token: 0x06004E5D RID: 20061 RVA: 0x000CE283 File Offset: 0x000CC483
  41.         public override bool IsVisible { get; set; }
  42.  
  43.         // Token: 0x17000B3F RID: 2879
  44.         // (get) Token: 0x06004E5E RID: 20062 RVA: 0x000C36BF File Offset: 0x000C18BF
  45.         // (set) Token: 0x06004E5F RID: 20063 RVA: 0x000CE28C File Offset: 0x000CC48C
  46.         public override Player.AbstractHandsController HandsController
  47.         {
  48.             get
  49.             {
  50.                 return this.abstractHandsController_0;
  51.             }
  52.             protected set
  53.             {
  54.                 if (object.ReferenceEquals(value, this.abstractHandsController_0))
  55.                 {
  56.                     return;
  57.                 }
  58.                 base.HandsController = value;
  59.             }
  60.         }
  61.  
  62.         // Token: 0x06004E60 RID: 20064 RVA: 0x000CE2A4 File Offset: 0x000CC4A4
  63.         public virtual void vmethod_52(byte byte_0, GInterface37 ginterface37_0, int int_4)
  64.         {
  65.             throw new Exception("Invalid operation");
  66.         }
  67.  
  68.         // Token: 0x17000B40 RID: 2880
  69.         // (get) Token: 0x06004E61 RID: 20065 RVA: 0x000CE2B0 File Offset: 0x000CC4B0
  70.         // (set) Token: 0x06004E62 RID: 20066 RVA: 0x000CE2B8 File Offset: 0x000CC4B8
  71.         protected GInterface52 FrameIndexer { get; set; }
  72.  
  73.         // Token: 0x06004E63 RID: 20067 RVA: 0x001EE1CC File Offset: 0x001EC3CC
  74.         protected void ProcessCommonPacket(GClass1203 commonPacket)
  75.         {
  76.             GStruct152 valueOrDefault;
  77.             for (GStruct152? gstruct = commonPacket.StartSearchingActionPacket; gstruct != null; gstruct = valueOrDefault.smethod_0<GStruct152>())
  78.             {
  79.                 valueOrDefault = gstruct.GetValueOrDefault();
  80.                 try
  81.                 {
  82.                     this.ProcessStartSearchingAction(valueOrDefault.ItemId);
  83.                 }
  84.                 catch (Exception ex)
  85.                 {
  86.                     Debug.LogException(ex);
  87.                 }
  88.             }
  89.             GStruct153 valueOrDefault2;
  90.             for (GStruct153? gstruct2 = commonPacket.StopSearchingActionPacket; gstruct2 != null; gstruct2 = valueOrDefault2.smethod_0<GStruct153>())
  91.             {
  92.                 valueOrDefault2 = gstruct2.GetValueOrDefault();
  93.                 try
  94.                 {
  95.                     this.method_195(valueOrDefault2.ItemId);
  96.                 }
  97.                 catch (Exception ex2)
  98.                 {
  99.                     Debug.LogException(ex2);
  100.                 }
  101.             }
  102.             GStruct155 valueOrDefault3;
  103.             for (GStruct155? gstruct3 = commonPacket.SetSearchedPacket; gstruct3 != null; gstruct3 = valueOrDefault3.smethod_0<GStruct155>())
  104.             {
  105.                 valueOrDefault3 = gstruct3.GetValueOrDefault();
  106.                 try
  107.                 {
  108.                     this.method_197(valueOrDefault3.ItemId, valueOrDefault3.GridId, valueOrDefault3.Silent);
  109.                 }
  110.                 catch (Exception ex3)
  111.                 {
  112.                     Debug.LogException(ex3);
  113.                 }
  114.             }
  115.             GStruct154 valueOrDefault4;
  116.             for (GStruct154? gstruct4 = commonPacket.UpdateAccessStatusPacket; gstruct4 != null; gstruct4 = valueOrDefault4.smethod_0<GStruct154>())
  117.             {
  118.                 valueOrDefault4 = gstruct4.GetValueOrDefault();
  119.                 try
  120.                 {
  121.                     this.method_196(valueOrDefault4.ItemId, valueOrDefault4.State);
  122.                 }
  123.                 catch (Exception ex4)
  124.                 {
  125.                     Debug.LogException(ex4);
  126.                 }
  127.             }
  128.             GStruct156? stopSearchingPacket = commonPacket.StopSearchingPacket;
  129.             if (stopSearchingPacket != null)
  130.             {
  131.                 GStruct156 valueOrDefault5 = commonPacket.StopSearchingPacket.GetValueOrDefault();
  132.                 try
  133.                 {
  134.                     this.ProcessStopSearching(valueOrDefault5.ItemId);
  135.                 }
  136.                 catch (Exception ex5)
  137.                 {
  138.                     Debug.LogException(ex5);
  139.                 }
  140.             }
  141.             GStruct157? syncPositionPacket = commonPacket.SyncPositionPacket;
  142.             if (syncPositionPacket != null)
  143.             {
  144.                 GStruct157 valueOrDefault6 = commonPacket.SyncPositionPacket.GetValueOrDefault();
  145.                 try
  146.                 {
  147.                     this.vmethod_50(valueOrDefault6.Position, false);
  148.                 }
  149.                 catch (Exception ex6)
  150.                 {
  151.                     Debug.LogException(ex6);
  152.                 }
  153.             }
  154.             GStruct158 valueOrDefault7;
  155.             for (GStruct158? gstruct5 = commonPacket.SendSkillValuesPacket; gstruct5 != null; gstruct5 = valueOrDefault7.smethod_0<GStruct158>())
  156.             {
  157.                 valueOrDefault7 = gstruct5.GetValueOrDefault();
  158.                 try
  159.                 {
  160.                     this.ProcessSendSkillValues(valueOrDefault7.Numbers);
  161.                 }
  162.                 catch (Exception ex7)
  163.                 {
  164.                     Debug.LogException(ex7);
  165.                 }
  166.             }
  167.             GStruct159 valueOrDefault8;
  168.             for (GStruct159? gstruct6 = commonPacket.ChangeSkillExperiencePacket; gstruct6 != null; gstruct6 = valueOrDefault8.smethod_0<GStruct159>())
  169.             {
  170.                 valueOrDefault8 = gstruct6.GetValueOrDefault();
  171.                 try
  172.                 {
  173.                     this.ProcessChangeSkillExperience(valueOrDefault8.SkillId, valueOrDefault8.Value);
  174.                 }
  175.                 catch (Exception ex8)
  176.                 {
  177.                     Debug.LogException(ex8);
  178.                 }
  179.             }
  180.             GStruct160 valueOrDefault9;
  181.             for (GStruct160? gstruct7 = commonPacket.ChangeMasteringLevelPacket; gstruct7 != null; gstruct7 = valueOrDefault9.smethod_0<GStruct160>())
  182.             {
  183.                 valueOrDefault9 = gstruct7.GetValueOrDefault();
  184.                 try
  185.                 {
  186.                     this.ProcessChangeMasteringLevel(valueOrDefault9.GroupName, valueOrDefault9.Value);
  187.                 }
  188.                 catch (Exception ex9)
  189.                 {
  190.                     Debug.LogException(ex9);
  191.                 }
  192.             }
  193.             GStruct161? switchRenderersPacket = commonPacket.SwitchRenderersPacket;
  194.             if (switchRenderersPacket != null)
  195.             {
  196.                 GStruct161 valueOrDefault10 = commonPacket.SwitchRenderersPacket.GetValueOrDefault();
  197.                 try
  198.                 {
  199.                     base.method_173(valueOrDefault10.Value);
  200.                 }
  201.                 catch (Exception ex10)
  202.                 {
  203.                     Debug.LogException(ex10);
  204.                 }
  205.             }
  206.         }
  207.  
  208.         // Token: 0x06004E64 RID: 20068 RVA: 0x001EE4D4 File Offset: 0x001EC6D4
  209.         protected void ProcessStartSearchingAction(string itemId)
  210.         {
  211.             Debug.LogFormat("ProcessStartSearchingAction {0}", new object[]
  212.             {
  213.                 itemId
  214.             });
  215.             GClass725 gclass = base.method_2(itemId, true).method_0(null) as GClass725;
  216.             if (gclass != null)
  217.             {
  218.                 if (this is ObservedPlayer)
  219.                 {
  220.                     base.PlayerInventoryController_0.imethod_50(gclass);
  221.                 }
  222.             }
  223.             else
  224.             {
  225.                 Debug.LogError("ProcessStartSearchingAction failed");
  226.             }
  227.         }
  228.  
  229.         // Token: 0x06004E65 RID: 20069 RVA: 0x001EE530 File Offset: 0x001EC730
  230.         private void method_195(string string_3)
  231.         {
  232.             Debug.LogFormat("ProcessStopSearchingAction {0}", new object[]
  233.             {
  234.                 string_3
  235.             });
  236.             GClass725 gclass = base.method_2(string_3, true).method_0(null) as GClass725;
  237.             if (gclass != null)
  238.             {
  239.                 if (this is ObservedPlayer)
  240.                 {
  241.                     base.PlayerInventoryController_0.imethod_51(gclass);
  242.                 }
  243.             }
  244.             else
  245.             {
  246.                 Debug.LogError("ProcessStopSearchingAction failed");
  247.             }
  248.         }
  249.  
  250.         // Token: 0x06004E66 RID: 20070 RVA: 0x001EE58C File Offset: 0x001EC78C
  251.         private void method_196(string string_3, SearchedState searchedState_0)
  252.         {
  253.             Debug.LogFormat("RpcUpdateAccessStatus {0}, {1}", new object[]
  254.             {
  255.                 string_3,
  256.                 searchedState_0
  257.             });
  258.             GStruct54<Item> gstruct = base.method_2(string_3, true);
  259.             if (gstruct.Error != null)
  260.             {
  261.                 Debug.LogError("ProcessUpdateAccessStatus failed: " + gstruct.Error);
  262.                 return;
  263.             }
  264.             GClass725 gclass = gstruct.Value as GClass725;
  265.             if (gclass == null)
  266.             {
  267.                 Debug.LogError("ProcessUpdateAccessStatus failed: " + gstruct + " is not searchable");
  268.                 return;
  269.             }
  270.             gclass.method_20(this.playerInventoryController_0.ProfileId).Value = searchedState_0;
  271.             base.IfItemFullySearched(gclass);
  272.         }
  273.  
  274.         // Token: 0x06004E67 RID: 20071 RVA: 0x001EE628 File Offset: 0x001EC828
  275.         private void method_197(string string_3, GStruct42 gstruct42_0, bool bool_24)
  276.         {
  277.             GStruct54<bool> gstruct = this.method_198(string_3, gstruct42_0, bool_24);
  278.             if (gstruct.Error != null)
  279.             {
  280.                 Debug.LogError("RpcSetSearched failed: " + gstruct.Error);
  281.             }
  282.         }
  283.  
  284.         // Token: 0x06004E68 RID: 20072 RVA: 0x001EE660 File Offset: 0x001EC860
  285.         private GStruct54<bool> method_198(string string_3, GStruct42 gstruct42_0, bool bool_24)
  286.         {
  287.             Debug.Log(string.Concat(new string[]
  288.             {
  289.                 "RpcSetSearched item id:",
  290.                 string_3,
  291.                 " grid Id:",
  292.                 gstruct42_0.Id,
  293.                 " ParentId:",
  294.                 gstruct42_0.ParentId
  295.             }));
  296.             GStruct54<Item> gstruct = base.method_2(string_3, true);
  297.             if (gstruct.Error != null)
  298.             {
  299.                 return gstruct.Error;
  300.             }
  301.             GClass552 gclass = base.FindContainer(gstruct42_0, null) as GClass552;
  302.             if (gclass == null)
  303.             {
  304.                 return new NetworkPlayer.GClass1048(gstruct42_0);
  305.             }
  306.             if (!gclass.method_14(gstruct.Value))
  307.             {
  308.                 return new GClass552.GClass1005(gstruct.Value, gclass);
  309.             }
  310.             GClass815 gclass2 = new GClass815(gclass, gclass.ContainedItems[gstruct.Value]);
  311.             gclass2.LocationInGrid.isSearched = true;
  312.             base.PlayerInventoryController_0.imethod_52(gstruct.Value, gclass2, bool_24);
  313.             if (!(this is ObservedPlayer))
  314.             {
  315.                 base.PlayerInventoryController_0.method_29(gstruct.Value, gclass2, bool_24);
  316.             }
  317.             return true;
  318.         }
  319.  
  320.         // Token: 0x06004E69 RID: 20073 RVA: 0x000CE2C1 File Offset: 0x000CC4C1
  321.         protected virtual void ProcessStopSearching(string itemId)
  322.         {
  323.             Debug.Log("NetworkPlayer ProcessStopSearching");
  324.             base.PlayerInventoryController_0.imethod_53(itemId);
  325.         }
  326.  
  327.         // Token: 0x06004E6A RID: 20074 RVA: 0x001EE768 File Offset: 0x001EC968
  328.         protected void ProcessNetworkDeath(string aggressorName, EPlayerSide aggressorSide, EBodyPart part, string weaponName, EMemberCategory memberCategory)
  329.         {
  330.             if (this.NetworkHealthController == null)
  331.             {
  332.                 return;
  333.             }
  334.             base.Profile.Stats.Aggressor = new AggressorStats(aggressorName, aggressorSide, part, weaponName, memberCategory, null);
  335.         }
  336.  
  337.         // Token: 0x06004E6B RID: 20075 RVA: 0x001EE7A4 File Offset: 0x001EC9A4
  338.         protected void ProcessArmorPointsChange(string id, float value)
  339.         {
  340.             GStruct54<Item> gstruct = Singleton<GameWorld>.Instance.method_33(id);
  341.             if (gstruct.Error != null)
  342.             {
  343.                 Debug.LogError("Error: ProcessRpcArmorPointsChange: " + gstruct.Error);
  344.                 return;
  345.             }
  346.             GClass774 gclass = gstruct.Value.method_8<GClass774>();
  347.             if (gclass != null)
  348.             {
  349.                 gclass.Repairable.Durability = value;
  350.                 gclass.Item.method_7(false, false);
  351.             }
  352.         }
  353.  
  354.         // Token: 0x06004E6C RID: 20076 RVA: 0x001EE808 File Offset: 0x001ECA08
  355.         protected void ProcessChangeSkillExperience(byte skillId, float value)
  356.         {
  357.             if (base.Skills == null)
  358.             {
  359.                 return;
  360.             }
  361.             GClass1213 gclass = base.Skills.method_15((ESkillId)skillId);
  362.             if (gclass == null)
  363.             {
  364.                 Debug.LogError("cant find skill: " + (ESkillId)skillId);
  365.                 return;
  366.             }
  367.             gclass.vmethod_1(value, true);
  368.         }
  369.  
  370.         // Token: 0x06004E6D RID: 20077 RVA: 0x001EE850 File Offset: 0x001ECA50
  371.         protected void ProcessChangeMasteringLevel(string groupName, float value)
  372.         {
  373.             NetworkPlayer.Class685 @class = new NetworkPlayer.Class685();
  374.             @class.string_0 = groupName;
  375.             if (base.Skills == null)
  376.             {
  377.                 return;
  378.             }
  379.             GClass1215 gclass = (!base.Skills.Mastering.ContainsKey(@class.string_0)) ? base.Skills.method_13(Singleton<GClass266>.Instance.Mastering.FirstOrDefault(new Func<GClass266.GClass280, bool>(@class.method_0)), value, 1f) : base.Skills.Mastering[@class.string_0];
  380.             gclass.vmethod_1(value, true);
  381.         }
  382.  
  383.         // Token: 0x06004E6E RID: 20078 RVA: 0x001EE8D8 File Offset: 0x001ECAD8
  384.         protected void ProcessSendSkillValues(float[] numbers)
  385.         {
  386.             if (base.Skills != null && base.Skills.Skills != null)
  387.             {
  388.                 for (int i = 0; i < base.Skills.Skills.Length; i++)
  389.                 {
  390.                     Debug.Log(string.Format("{0} : {1} : {2}", base.Skills.Skills[i].Id, base.Skills.Skills[i].Current, numbers[i]));
  391.                 }
  392.                 return;
  393.             }
  394.         }
  395.  
  396.         // Token: 0x04003CAA RID: 15530
  397.         protected readonly Dictionary<uint, GClass1223<GClass924, Action>> CurrentOperations = new Dictionary<uint, GClass1223<GClass924, Action>>();
  398.  
  399.         // Token: 0x04003CAB RID: 15531
  400.         protected readonly Dictionary<uint, Callback<int, bool, NetworkPlayer.EOperationStatus>> OperationCallbacks = new Dictionary<uint, Callback<int, bool, NetworkPlayer.EOperationStatus>>();
  401.  
  402.         // Token: 0x04003CAC RID: 15532
  403.         public static EPhraseTrigger[] LocalPhrases = new EPhraseTrigger[]
  404.         {
  405.             EPhraseTrigger.OnAgony,
  406.             EPhraseTrigger.OnBeingHurt,
  407.             EPhraseTrigger.OnBreath,
  408.             EPhraseTrigger.OnDeath
  409.         };
  410.  
  411.         // Token: 0x04003CAD RID: 15533
  412.         [DebuggerBrowsable(DebuggerBrowsableState.Never)]
  413.         [CompilerGenerated]
  414.         private new bool bool_23;
  415.  
  416.         // Token: 0x04003CAE RID: 15534
  417.         [DebuggerBrowsable(DebuggerBrowsableState.Never)]
  418.         [CompilerGenerated]
  419.         private GInterface52 ginterface52_0;
  420.  
  421.         // Token: 0x02000E1B RID: 3611
  422.         [Flags]
  423.         public enum EMovementCommand : byte
  424.         {
  425.             // Token: 0x04003CB0 RID: 15536
  426.             MoveStart = 1,
  427.             // Token: 0x04003CB1 RID: 15537
  428.             MoveEnd = 2,
  429.             // Token: 0x04003CB2 RID: 15538
  430.             SprintStart = 4,
  431.             // Token: 0x04003CB3 RID: 15539
  432.             SprintEnd = 8,
  433.             // Token: 0x04003CB4 RID: 15540
  434.             StartProne = 16,
  435.             // Token: 0x04003CB5 RID: 15541
  436.             StopProne = 32,
  437.             // Token: 0x04003CB6 RID: 15542
  438.             JumpStart = 64,
  439.             // Token: 0x04003CB7 RID: 15543
  440.             JumpEnd = 128
  441.         }
  442.  
  443.         // Token: 0x02000E1C RID: 3612
  444.         public enum EOperationStatus
  445.         {
  446.             // Token: 0x04003CB9 RID: 15545
  447.             Started,
  448.             // Token: 0x04003CBA RID: 15546
  449.             Finished,
  450.             // Token: 0x04003CBB RID: 15547
  451.             Failed
  452.         }
  453.  
  454.         // Token: 0x02000E1D RID: 3613
  455.         public class GClass1048 : GClass992
  456.         {
  457.             // Token: 0x06004E70 RID: 20080 RVA: 0x000CE2F1 File Offset: 0x000CC4F1
  458.             public GClass1048(GStruct42 gstruct42_0)
  459.             {
  460.                 this.ContainerId = gstruct42_0;
  461.             }
  462.  
  463.             // Token: 0x06004E71 RID: 20081 RVA: 0x001EE958 File Offset: 0x001ECB58
  464.             public override string ToString()
  465.             {
  466.                 return string.Concat(new string[]
  467.                 {
  468.                     "Container with id ",
  469.                     this.ContainerId.Id,
  470.                     " in ",
  471.                     this.ContainerId.ParentId,
  472.                     " not found"
  473.                 });
  474.             }
  475.  
  476.             // Token: 0x04003CBC RID: 15548
  477.             public readonly GStruct42 ContainerId;
  478.         }
  479.  
  480.         // Token: 0x02000E1E RID: 3614
  481.         [Serializable]
  482.         public struct ClientShot
  483.         {
  484.             // Token: 0x06004E72 RID: 20082 RVA: 0x001EE9AC File Offset: 0x001ECBAC
  485.             public override string ToString()
  486.             {
  487.                 return string.Format("Approved: {0}, BodyPart: {1}, Damage: {2}, LeftBodyPartHealth: {3}, TargetName: {4}", new object[]
  488.                 {
  489.                     this.Approved,
  490.                     (EBodyPart)this.BodyPart,
  491.                     this.Damage,
  492.                     this.LeftBodyPartHealth,
  493.                     this.TargetName
  494.                 });
  495.             }
  496.  
  497.             // Token: 0x04003CBD RID: 15549
  498.             public bool Approved;
  499.  
  500.             // Token: 0x04003CBE RID: 15550
  501.             public int BodyPart;
  502.  
  503.             // Token: 0x04003CBF RID: 15551
  504.             public float Damage;
  505.  
  506.             // Token: 0x04003CC0 RID: 15552
  507.             public float LeftBodyPartHealth;
  508.  
  509.             // Token: 0x04003CC1 RID: 15553
  510.             public string TargetName;
  511.         }
  512.  
  513.         // Token: 0x02000E1F RID: 3615
  514.         internal class NetworkGrenadeController : Player.GrenadeController
  515.         {
  516.         }
  517.  
  518.         // Token: 0x02000E20 RID: 3616
  519.         internal class NetworkQuickGrenadeThrowController : Player.QuickGrenadeThrowController
  520.         {
  521.         }
  522.  
  523.         // Token: 0x02000E21 RID: 3617
  524.         internal class NetworkKnifeController : Player.KnifeController
  525.         {
  526.         }
  527.  
  528.         // Token: 0x02000E22 RID: 3618
  529.         internal class NetworkQuickKnifeKickController : Player.QuickKnifeKickController
  530.         {
  531.         }
  532.  
  533.         // Token: 0x02000E23 RID: 3619
  534.         [CompilerGenerated]
  535.         private sealed class Class685
  536.         {
  537.             // Token: 0x06004E78 RID: 20088 RVA: 0x000CE320 File Offset: 0x000CC520
  538.             internal bool method_0(GClass266.GClass280 gclass280_0)
  539.             {
  540.                 return gclass280_0.Id == this.string_0;
  541.             }
  542.  
  543.             // Token: 0x04003CC2 RID: 15554
  544.             internal string string_0;
  545.         }
  546.     }
  547. }
Advertisement
Add Comment
Please, Sign In to add comment