示例#1
0
        private void SetTileActiveFlags(FieldItemLayer tiles, int ofs)
        {
            // Although the Tiles are arranged y-column (y-x) based, the 'isActive' flags are arranged x-row (x-y) based.
            // We can turn the isActive flag off if the item is not a root or the item cannot be animated.
            for (int x = 0; x < 224; x++)
            {
                for (int y = 0; y < 192; y++)
                {
                    var tile     = tiles.GetTile(x, y);
                    var isActive = IsActive(ofs, x, y);
                    if (!isActive)
                    {
                        continue;
                    }

                    bool empty = tile.IsNone;
                    if (empty)
                    {
                        Debug.WriteLine($"Flag at ({x},{y}) is not a root object.");
                    }
                }
            }
        }
示例#2
0
 public FieldItemManager(MainSave sav)
 {
     Layer1 = new FieldItemLayer(sav.GetFieldItemLayer1());
     Layer2 = new FieldItemLayer(sav.GetFieldItemLayer2());
     SAV    = sav;
 }
示例#3
0
 public FieldItemManager(FieldItem[] layer1, FieldItem[] layer2)
 {
     Layer1 = new FieldItemLayer(layer1);
     Layer2 = new FieldItemLayer(layer2);
 }
示例#4
0
 public FieldItemManager(Item[] l1, Item[] l2)
 {
     Layer1 = new FieldItemLayer(l1);
     Layer2 = new FieldItemLayer(l2);
 }