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/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
Note: See TracChangeset for help on using the changeset viewer.