Exemplo n.º 1
0
        public void UpdateAutoTileForm(bool lu, bool ru, bool ld, bool rd)
        {
            autotile_args.boolMask[0, 0] = lu;
            autotile_args.boolMask[1, 0] = ru;
            autotile_args.boolMask[0, 1] = ld;
            autotile_args.boolMask[1, 1] = rd;

            autotile_args.form = AutoTileDict.BoolMask2String(autotile_args.boolMask);
        }
Exemplo n.º 2
0
        /// пытается найти тайл по указанной маске и типам. (а также и варианту)
        public Tile GetAutoTileByMask(TileType type, TileType another, bool[,] boolmask, int variant, int seed)
        {
            string form = AutoTileDict.BoolMask2String(boolmask);

            int      var      = variant;
            TileType tmp_type = type;

            // если нет ни одного миниквадрата основной формы, то тупо заменяем основную форму на вторичную.
            if (!boolmask[0, 0] && !boolmask[0, 1] && !boolmask[1, 0] && !boolmask[1, 1])
            {
                tmp_type = another;
                form     = "Center";
            }

            // Только центральные тайлы имеют вариант.
            if (form != "Center")
            {
                var = 0;
            }

            Tile tmp = autoTile_dict[tmp_type].GetRandomTile(another, form, var, seed);

            return(tmp);
        }