Iris
Cómo Proporcionar la Biblioteca
Para proporcionar tu biblioteca, necesitarás agregar las siguientes entradas a la tabla de tu historia:
Indice | Tipo | Descripción |
---|---|---|
iris Obligatorio | Iris | La biblioteca de Iris que será utilizada |
Cómo Renderizar Historias
UI Labs configurará Iris para que funcione en historias y creará una simulación de UserInputService
. La configuración que seguirá UI Labs está basada en Este Ejemplo
Después de esto, la función story
será ejecutada una vez, dentro de esta debes conectar a Iris.
local story = {
iris = Iris,
story = function(props)
Iris:Connect(function()
Iris.ShowDemoWindow()
end)
end,
}
const story = {
iris: Iris,
story: (props: InferIrisProps<typeof controls>) => {
Iris.Connect(() => {
Iris.ShowDemoWindow();
});
},
};
Cómo Usar Controles
UI Labs creará un Iris.State
para cada control y los actualizará cuando el control cambie. Estos controles estarán disponibles en la tabla props
.
local controls = {
Title = "Ventana",
IsUncollapsed = false,
}
local story = {
iris = Iris,
controls = controls,
story = function(props)
local controls = props.controls
Iris:Connect(function()
Iris.Window({ controls.Title:get() }, { isUncollapsed = controls.IsUncollapsed })
---
Iris.End()
end)
end
}
const controls = {
Title: "Ventana",
IsUncollapsed: false,
};
const story = {
iris: Iris,
controls: controls,
story: (props: InferIrisProps<typeof controls>) => {
const controls = props.controls;
Iris.Connect(() => {
Iris.Window([controls.Title.get()], { isUncollapsed: controls.IsUncollapsed });
///
Iris.End();
});
},
};
Limpieza
UI Labs llamara Iris.Shutdown
automáticamente cuando la historia sea desmontada y destruirá la simulación de UserInputService
.
Además, si necesitas hacer limpieza adicional, puedes regresar una función que se ejecutará cuando la historia sea desmontada.
Ejemplo
local story = {
iris = Iris,
controls = controls,
story = function(props)
Iris:Connect(function()
Iris.ShowDemoWindow()
end)
return function()
print("La historia está siendo desmontada")
end
end
}
const story = {
iris: Iris,
controls: controls,
story: (props: InferIrisProps<typeof controls>) => {
Iris.Connect(() => {
Iris.ShowDemoWindow();
});
return () => {
print("La historia está siendo desmontada");
};
},
};
Cómo Usar el Creador de Historias
Puedes usar el Creador de Historias del Paquete de Utilidades para crear tu historia. Estos inferirán los tipos de controles para Roblox-TS.
UILabs.CreateIrisStory(info, story):IrisStory
Ejemplo
local Iris = require(...)
local UILabs = require(...)
local CreateIrisStory = UILabs.CreateIrisStory
local controls = { ... }
local story = CreateIrisStory({
iris = Iris,
controls = controls,
}, function(props)
Iris:Connect(function()
Iris.ShowDemoWindow()
end)
end)
import Iris from "@rbxts/iris"
import { CreateIrisStory } from "@rbxts/ui-labs"
const controls = { ... }
const story = CreateIrisStory({
fusion: Fusion,
controls: controls,
}, (props: InferIrisProps<typeof controls>) => {
Iris.Connect(() => {
Iris.ShowDemoWindow()
})
})