예제 #1
0
 internal override void DoServerDestroy()
 {
     if (!base.isClient)
     {
         AIThinkManager.RemoveAnimal(this);
         base.DoServerDestroy();
     }
 }
예제 #2
0
 public override void ServerInit()
 {
     base.ServerInit();
     brain = GetComponent <BaseAIBrain <BaseAnimalNPC> >();
     if (!base.isClient)
     {
         AIThinkManager.AddAnimal(this);
     }
 }
예제 #3
0
 public override void ServerInit()
 {
     base.ServerInit();
     Brain = GetComponent <BaseAIBrain <HumanNPCNew> >();
     if (!base.isClient)
     {
         AIThinkManager.Add(this);
     }
 }
예제 #4
0
 public override void ServerInit()
 {
     base.ServerInit();
     _brain = GetComponent <BaseAIBrain <HumanNPC> >();
     if (!base.isClient)
     {
         AIThinkManager.Add(this);
         Invoke(EnableNavAgent, 0.25f);
         spawnPos = base.transform.position;
     }
 }
예제 #5
0
 public override void ServerInit()
 {
     base.ServerInit();
     this._brain = (HumanBrain)((Component)this).GetComponent <HumanBrain>();
     if (this.isClient)
     {
         return;
     }
     AIThinkManager.Add((IThinker)this);
     this.Invoke(new Action(this.EnableNavAgent), 0.25f);
 }
예제 #6
0
 internal override void DoServerDestroy()
 {
     AIThinkManager.Remove(this);
     base.DoServerDestroy();
 }
예제 #7
0
 private void Update()
 {
     if (!this.runFrameUpdate)
     {
         return;
     }
     using (TimeWarning.New("ServerMgr.Update", 500L))
     {
         if (EACServer.playerTracker != null)
         {
             EACServer.playerTracker.BeginFrame();
         }
         try
         {
             using (TimeWarning.New("Net.sv.Cycle", 100L))
                 ((Network.Server)Network.Net.sv).Cycle();
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: Network Cycle");
             Debug.LogException(ex, (Object)this);
         }
         try
         {
             using (TimeWarning.New("ServerBuildingManager.Cycle", 0.1f))
                 BuildingManager.server.Cycle();
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: Building Manager");
             Debug.LogException(ex, (Object)this);
         }
         try
         {
             using (TimeWarning.New("BasePlayer.ServerCycle", 0.1f))
                 BasePlayer.ServerCycle(Time.get_deltaTime());
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: Player Update");
             Debug.LogException(ex, (Object)this);
         }
         try
         {
             using (TimeWarning.New("SteamQueryResponse", 0.1f))
                 this.SteamQueryResponse();
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: Steam Query");
             Debug.LogException(ex, (Object)this);
         }
         try
         {
             using (TimeWarning.New("connectionQueue.Cycle", 0.1f))
                 this.connectionQueue.Cycle(ServerMgr.AvailableSlots);
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: Connection Queue");
             Debug.LogException(ex, (Object)this);
         }
         try
         {
             using (TimeWarning.New("IOEntity.ProcessQueue", 0.1f))
                 IOEntity.ProcessQueue();
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: IOEntity.ProcessQueue");
             Debug.LogException(ex, (Object)this);
         }
         try
         {
             using (TimeWarning.New("AIThinkManager.ProcessQueue", 0.1f))
                 AIThinkManager.ProcessQueue();
         }
         catch (Exception ex)
         {
             Debug.LogWarning((object)"Server Exception: AIThinkManager.ProcessQueue");
             Debug.LogException(ex, (Object)this);
         }
         if (EACServer.playerTracker == null)
         {
             return;
         }
         EACServer.playerTracker.EndFrame();
     }
 }
예제 #8
0
 private void Update()
 {
     if (!this.runFrameUpdate)
     {
         return;
     }
     using (TimeWarning timeWarning = TimeWarning.New("ServerMgr.Update", (long)500))
     {
         if (EACServer.playerTracker != null)
         {
             EACServer.playerTracker.BeginFrame();
         }
         try
         {
             using (TimeWarning timeWarning1 = TimeWarning.New("Net.sv.Cycle", (long)100))
             {
                 Network.Net.sv.Cycle();
             }
         }
         catch (Exception exception)
         {
             UnityEngine.Debug.LogWarning("Server Exception: Network Cycle");
             UnityEngine.Debug.LogException(exception, this);
         }
         try
         {
             using (timeWarning1 = TimeWarning.New("ServerBuildingManager.Cycle", 0.1f))
             {
                 BuildingManager.server.Cycle();
             }
         }
         catch (Exception exception1)
         {
             UnityEngine.Debug.LogWarning("Server Exception: Building Manager");
             UnityEngine.Debug.LogException(exception1, this);
         }
         try
         {
             using (timeWarning1 = TimeWarning.New("BasePlayer.ServerCycle", 0.1f))
             {
                 BasePlayer.ServerCycle(UnityEngine.Time.deltaTime);
             }
         }
         catch (Exception exception2)
         {
             UnityEngine.Debug.LogWarning("Server Exception: Player Update");
             UnityEngine.Debug.LogException(exception2, this);
         }
         try
         {
             using (timeWarning1 = TimeWarning.New("SteamQueryResponse", 0.1f))
             {
                 this.SteamQueryResponse();
             }
         }
         catch (Exception exception3)
         {
             UnityEngine.Debug.LogWarning("Server Exception: Steam Query");
             UnityEngine.Debug.LogException(exception3, this);
         }
         try
         {
             using (timeWarning1 = TimeWarning.New("connectionQueue.Cycle", 0.1f))
             {
                 this.connectionQueue.Cycle(ServerMgr.AvailableSlots);
             }
         }
         catch (Exception exception4)
         {
             UnityEngine.Debug.LogWarning("Server Exception: Connection Queue");
             UnityEngine.Debug.LogException(exception4, this);
         }
         try
         {
             using (timeWarning1 = TimeWarning.New("IOEntity.ProcessQueue", 0.1f))
             {
                 IOEntity.ProcessQueue();
             }
         }
         catch (Exception exception5)
         {
             UnityEngine.Debug.LogWarning("Server Exception: IOEntity.ProcessQueue");
             UnityEngine.Debug.LogException(exception5, this);
         }
         try
         {
             using (timeWarning1 = TimeWarning.New("AIThinkManager.ProcessQueue", 0.1f))
             {
                 AIThinkManager.ProcessQueue();
             }
         }
         catch (Exception exception6)
         {
             UnityEngine.Debug.LogWarning("Server Exception: AIThinkManager.ProcessQueue");
             UnityEngine.Debug.LogException(exception6, this);
         }
         if (EACServer.playerTracker != null)
         {
             EACServer.playerTracker.EndFrame();
         }
     }
 }