コード例 #1
0
    void LoadWaterDrop(int x, int y)
    {
        // create the water drop object;  place it around the center of the tile
        Vector2   pos = GetCellPosition(x, y) + new Vector2(TileWidth / 2, TileHeight / 3);
        WaterDrop w   = new WaterDrop(this, pos);

        // add it to the game world
        AddChild(w);
        // store an extra reference to it
        waterDrops.Add(w);
    }
コード例 #2
0
    /// <summary>Add a water tile.</summary>
    private Tile LoadWaterTile(int x, int y)
    {
        GameObjectList waterdrops = Find("waterdrops") as GameObjectList;
        TileField      tiles      = Find("tiles") as TileField;
        WaterDrop      w          = new WaterDrop();

        w.Origin   = w.Center;
        w.Position = new Vector2((x + 0.5f) * tiles.CellWidth, (y + 0.5f) * tiles.CellHeight - 10);
        waterdrops.Add(w);
        return(new Tile());
    }
コード例 #3
0
        public void PropagateTest()
        {
            var propagator = new Propagator(Propagator.DefaultNeighborsGetter);
            var context    = new WaterContext(_map, propagator);
            var drop       = new WaterDrop(0.1);

            context.AddDrop(drop, (2, 2));
            context.PropagateWater(WaterContext.DefaultNeighborsGetter);
            var drops = context.Drops;

            Assert.Equal(4, drops.Count);
        }
コード例 #4
0
        public void MergeTest()
        {
            var propagator = new Propagator(Propagator.DefaultNeighborsGetter);
            var context    = new WaterContext(_map, propagator);
            var drop       = new WaterDrop(0.1);

            context.AddDrop(drop, (2, 2));
            context.PropagateWater(WaterContext.DefaultNeighborsGetter);
            context.PropagateWater(WaterContext.DefaultNeighborsGetter);
            var dropsBefore = context.Drops.ToDictionary(x => x.Key, x => x.Value);

            context.Merge();
            var dropsAfter = context.Drops.ToDictionary(x => x.Key, x => x.Value);

            Assert.Equal(16, dropsBefore.Count);
            Assert.Equal(9, dropsAfter.Count);
        }
コード例 #5
0
ファイル: LevelLoading.cs プロジェクト: MiloBuwalda/ticktack
 private Tile LoadWaterTile(int x, int y)
 {
     GameObjectList waterdrops = this.Find("waterdrops") as GameObjectList;
     TileField tiles = this.Find("tiles") as TileField;
     WaterDrop w = new WaterDrop();
     w.Origin = w.Center;
     w.Position = new Vector2(x * tiles.CellWidth, y * tiles.CellHeight - 10);
     w.Position += new Vector2(tiles.CellWidth, tiles.CellHeight) / 2;
     waterdrops.Add(w);
     return new Tile();
 }