Esempio n. 1
0
File: App.cs Progetto: hnjm/tilemap
    public void Initialize(AppConfig config)
    {
        if (map != null)
        {
            map.Dispose();
        }

        fileName      = config.MapFileName;
        userDragSpeed = config.UserDragSpeed;

        server = new TileServer(config.MapSize.x, config.MapSize.y, prefab.GetPrefabCount(), config.RefreshIntervalSeconds, networkLatency);

        ITileFactory factory;

        if (config.RefreshTiles)
        {
            factory = new TimedProxyTileFactory(server, config.RefreshIntervalSeconds);
        }
        else
        {
            factory = new ProxyTileFactory(server);
        }

        ITileLoadingStrategy tileLoadingStrategy;

        if (config.LoadPotentialTiles)
        {
            tileLoadingStrategy = new EagerLoadingStrategy();
        }
        else
        {
            tileLoadingStrategy = new LazyLoadingStrategy();
        }

        storage = new TileStorage(factory);

        Map simpleMap = new Map(storage.Load(fileName), factory, tileLoadingStrategy, prefab, config.MapSize.x, config.MapSize.y);

        if (config.LimitTilesCount)
        {
            map = new LimitedMap(simpleMap, config.MaxTilesCount);
        }
        else
        {
            map = simpleMap;
        }

        area = new VisibleArea(map);

        initialized = true;
    }
        public void FillFrom(Chunk component)
        {
            ChunkWorldMapLocationPoint = component.ChunkWorldMapLocationPoint;
            Bounds = new Microsoft.Xna.Framework.BoundingBox(component.Bounds.Min, component.Bounds.Max);
            WorldPositionBottomLeftCorner = component.WorldPositionBottomLeftCorner;
            var tiles = component.GetChunkTiles();

            if (tiles != null)
            {
                ChunkResolution = Constants.ChunkSize;
                Tiles           = new TileStorage[ChunkResolution * ChunkResolution];

                for (int i = 0; i < ChunkResolution; i++)
                {
                    for (int j = 0; j < ChunkResolution; j++)
                    {
                        Tiles[i * ChunkResolution + j] = tiles[i][j];
                    }
                }
            }
        }
Esempio n. 3
0
    public void Initialize(AppConfig config)
    {
        if (map != null) {
            map.Dispose ();
        }

        fileName = config.MapFileName;
        userDragSpeed = config.UserDragSpeed;

        server = new TileServer (config.MapSize.x, config.MapSize.y, prefab.GetPrefabCount (), config.RefreshIntervalSeconds, networkLatency);

        ITileFactory factory;
        if (config.RefreshTiles) {
            factory = new TimedProxyTileFactory (server, config.RefreshIntervalSeconds);
        } else {
            factory = new ProxyTileFactory (server);
        }

        ITileLoadingStrategy tileLoadingStrategy;
        if (config.LoadPotentialTiles) {
            tileLoadingStrategy = new EagerLoadingStrategy ();
        } else {
            tileLoadingStrategy = new LazyLoadingStrategy ();
        }

        storage = new TileStorage (factory);

        Map simpleMap = new Map (storage.Load (fileName), factory, tileLoadingStrategy, prefab, config.MapSize.x, config.MapSize.y);

        if (config.LimitTilesCount) {
            map = new LimitedMap (simpleMap, config.MaxTilesCount);
        } else {
            map = simpleMap;
        }

        area = new VisibleArea (map);

        initialized = true;
    }
Esempio n. 4
0
 public CBSlot(TileStorage owner, ComputeBuffer buffer) : base(owner)
 {
     Buffer = buffer;
 }
Esempio n. 5
0
 public CPUSlot(TileStorage owner, int size) : base(owner)
 {
     Data = new T[size];
     Size = size;
 }
Esempio n. 6
0
 public GPUSlot(TileStorage owner, RenderTexture texture) : base(owner)
 {
     Texture = texture;
 }
Esempio n. 7
0
 public static int NOPH_TileStorage_new()
 {
     TileStorage ret = new TileStorage();
     int registeredHandle = CRunTime.registerObject(ret);
     ts_id = registeredHandle;
     return registeredHandle;
 }
Esempio n. 8
0
 void Awake()
 {
     PathComponent        = GetComponent <AstarPath>();
     TileStorageComponent = Target.GetComponent <TileStorage>();
 }