コード例 #1
0
        internal void AddEntity(GameObject obj)
        {
            Type t = obj.GetType();

            GameEntityStorage storage = _entities.FirstOrDefault(s => s.EntityType == obj.GetType());

            if (storage == null)
            {
                throw new InvalidOperationException();
            }

            storage.AddEntity(obj);
        }
コード例 #2
0
        internal GameEntityStorage AddStorage(Type type)
        {
            GameEntityStorage storage = new GameEntityStorage(type);

            if (_entities.FirstOrDefault(s => s.EntityType == storage.EntityType) != null)
            {
                throw new InvalidOperationException();
            }

            _entities.Add(storage);

            return(storage);
        }
コード例 #3
0
        public GameObject GetEntity(Type type, string id)
        {
            GameEntityStorage smallStorage = _entities.SingleOrDefault(e => e.EntityType == type);

            return(smallStorage.GetEntity(id));
        }
コード例 #4
0
 internal void AddEntity(GameObject obj, GameEntityStorage storage)
 {
     storage.AddEntity(obj);
 }