Ignore:
Timestamp:
Jan 18, 2018, 4:56:02 PM (7 years ago)
Author:
alloc
Message:

Common func: Rebased Animals and Hostiles to common base

Location:
binary-improvements/7dtd-server-fixes/src/LiveData
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/src/LiveData/Animals.cs

    r307 r312  
    44namespace AllocsFixes.LiveData
    55{
    6     public class Animals
     6        public class Animals : EntityFilterList<EntityAnimal>
    77    {
    8                 public static void Get (List<EntityAnimal> _list) {
    9                         _list.Clear ();
    10                         try {
    11                                 List<Entity> entities = GameManager.Instance.World.Entities.list;
    12                                 for (int i = 0; i < entities.Count; i++) {
    13                                         Entity entity = entities [i];
    148
    15                                         if (entity is EntityAnimal) {
    16                                                 EntityAnimal ea = (EntityAnimal)entity;
     9                public static readonly Animals Instance = new Animals ();
    1710
    18                                                 if (ea.IsAlive ())
    19                                                         _list.Add (ea);
    20                                         }
     11                protected override EntityAnimal predicate (Entity _e) {
     12                        if (_e is EntityAnimal) {
     13                                EntityAnimal ea = (EntityAnimal)_e;
     14
     15                                if (ea.IsAlive ()) {
     16                                        return ea;
    2117                                }
    2218                        }
    23                         catch (Exception e) {
    24                                 Log.Exception (e);
    25                         }
    26                 }
    27 
    28                 public static int GetCount () {
    29                         int count = 0;
    30                         try {
    31                                 List<Entity> entities = GameManager.Instance.World.Entities.list;
    32                                 for (int i = 0; i < entities.Count; i++) {
    33                                         Entity entity = entities [i];
    34 
    35                                         if (entity is EntityAnimal) {
    36                                                 EntityAnimal ea = (EntityAnimal)entity;
    37 
    38                                                 if (ea.IsAlive ())
    39                                                         count++;
    40                                         }
    41                                 }
    42                         }
    43                         catch (Exception e) {
    44                                 Log.Exception (e);
    45                         }
    46                         return count;
     19                        return null;
    4720                }
    4821
  • binary-improvements/7dtd-server-fixes/src/LiveData/Hostiles.cs

    r306 r312  
    44namespace AllocsFixes.LiveData
    55{
    6         public class Hostiles
     6        public class Hostiles : EntityFilterList<EntityEnemy>
    77        {
    8                 public static void Get (List<EntityEnemy> _list) {
    9                         _list.Clear ();
    10                         try {
    11                                 List<Entity> entities = GameManager.Instance.World.Entities.list;
    12                                 for (int i = 0; i < entities.Count; i++) {
    13                                         Entity entity = entities [i];
    148
    15                                         if (entity is EntityEnemy) {
    16                                                 if (entity.IsAlive ())
    17                                                         _list.Add (entity as EntityEnemy);
    18                                         }
     9                public static readonly Hostiles Instance = new Hostiles ();
     10
     11                override protected EntityEnemy predicate (Entity _e) {
     12                        if (_e is EntityEnemy) {
     13                                if (_e.IsAlive ()) {
     14                                        return _e as EntityEnemy;
    1915                                }
    2016                        }
    21                         catch (Exception e) {
    22                                 Log.Exception (e);
    23                         }
     17                        return null;
    2418                }
    2519
    26                 public static int GetCount () {
    27                         int count = 0;
    28                         try {
    29                                 List<Entity> entities = GameManager.Instance.World.Entities.list;
    30                                 for (int i = 0; i < entities.Count; i++) {
    31                                         Entity entity = entities [i];
    32 
    33                                         if (entity.entityType == EntityType.Zombie) {
    34                                                 EntityEnemy ee = (EntityEnemy)entity;
    35 
    36                                                 if (ee.IsAlive ())
    37                                                         count++;
    38                                         }
    39                                 }
    40                         }
    41                         catch (Exception e) {
    42                                 Log.Exception (e);
    43                         }
    44                         return count;
    45                 }
    4620        }
    4721}
Note: See TracChangeset for help on using the changeset viewer.