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

Common func: Rebased Animals and Hostiles to common base

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.