include "Enums/IngredientType.fbs";

namespace pkNX.Structures.FlatBuffers.SV;
attribute "fs_serializer";
attribute "fs_valueStruct";

struct Float3 (fs_valueStruct) {
    X:float;
    Y:float;
    Z:float;
}

struct Ingredient (fs_valueStruct) {
    Position:Float3;
    Rotation:Float3;
}

struct IngredientDishParam (fs_valueStruct) {
    // IngredientSRT[20]
    Ingredient00:Ingredient;
    Ingredient01:Ingredient;
    Ingredient02:Ingredient;
    Ingredient03:Ingredient;
    Ingredient04:Ingredient;
    Ingredient05:Ingredient;
    Ingredient06:Ingredient;
    Ingredient07:Ingredient;
    Ingredient08:Ingredient;
    Ingredient09:Ingredient;
    Ingredient10:Ingredient;
    Ingredient11:Ingredient;
    Ingredient12:Ingredient;
    Ingredient13:Ingredient;
    Ingredient14:Ingredient;
    Ingredient15:Ingredient;
    Ingredient16:Ingredient;
    Ingredient17:Ingredient;
    Ingredient18:Ingredient;
    Ingredient19:Ingredient;
}

table IngredientDishData {
    Type:IngredientType;
    Param:IngredientDishParam (required);
}

table IngredientDishDataArray (fs_serializer) {
    Table:[IngredientDishData] (required);
}

root_type IngredientDishDataArray;
