예제 #1
0
        public static byte GetLiquidLevel(int x, int y, LiquidType liquidType = LiquidType.Any)
        {
            if (x < 0 || x >= Main.maxTilesX)
            {
                return(0);
            }
            if (y < 0 || y >= Main.maxTilesY)
            {
                return(0);
            }
            var tile = Main.tile[x, y];

            if (tile == null || tile.liquid == 0)
            {
                return(0);
            }
            if (liquidType == LiquidType.Any)
            {
                return(tile.liquid);
            }
            if (liquidType.HasFlag(LiquidType.Water) && !tile.lava() && !tile.honey())
            {
                return(tile.liquid);
            }
            if (liquidType.HasFlag(LiquidType.Lava) && tile.lava())
            {
                return(tile.liquid);
            }
            if (liquidType.HasFlag(LiquidType.Honey) && tile.honey())
            {
                return(tile.liquid);
            }
            return(0);
        }
예제 #2
0
        public static byte GetLiquidLevel(int x, int y, LiquidType liquidType = LiquidType.Any)
        {
            if (!WorldGen.InWorld(x, y))
            {
                return(0);
            }

            Tile tile = Main.tile[x, y];

            if (tile == null)
            {
                return(0);
            }

            if (liquidType == LiquidType.Any)
            {
                return(tile.liquid);
            }
            if (liquidType.HasFlag(LiquidType.Water) && !tile.lava() && !tile.honey())
            {
                return(tile.liquid);
            }
            if (liquidType.HasFlag(LiquidType.Lava) && tile.lava())
            {
                return(tile.liquid);
            }
            if (liquidType.HasFlag(LiquidType.Honey) && tile.honey())
            {
                return(tile.liquid);
            }
            return(0);
        }