public override void ApplyMessage(GameObjectUpdate message)
        {
            var rtn   = new List <GameObjectReference <T> >();
            int count = message.ReadInt();

            for (int i = 0; i < count; i++)
            {
                GameObjectReference <T> rf = new GameObjectReference <T>(message, collection);
                rtn.Add(rf);
            }
            this.value = rtn;
        }
 public GameObjectReference(GameObjectUpdate message, GameObjectCollection collection)
 {
     this.obj             = null;
     this.hasDereferenced = false;
     this.id         = message.ReadInt();
     this.collection = collection;
     if (id == 0)
     {
         hasDereferenced = true;
     }
     else
     {
         Dereference();
     }
 }
 public override void ApplyMessage(GameObjectUpdate message)
 {
     base.ApplyMessage(message);
     this.SimulationValue = message.ReadInt();
 }