mirror of
https://github.com/IgorTimofeev/MineOS.git
synced 2026-01-06 19:22:40 +01:00
afaef
This commit is contained in:
parent
03557e6ba0
commit
5b1f87e294
@ -3,6 +3,8 @@ local ecs = require("ECSAPI")
|
||||
local hologram
|
||||
local c = 23
|
||||
|
||||
-----------------------------------------------------------
|
||||
|
||||
if not component.isAvailable("hologram") then
|
||||
ecs.error("Этой программе необходим голографический проектор 2 уровня.")
|
||||
return
|
||||
@ -10,6 +12,53 @@ else
|
||||
hologram = component.hologram
|
||||
end
|
||||
|
||||
-----------------------------------------------------------
|
||||
|
||||
local data = ecs.universalWindow("auto", "auto", 36, 0x262626, true,
|
||||
{"EmptyLine"},
|
||||
{"CenterText", ecs.colors.orange, "Настройки анимации"},
|
||||
{"EmptyLine"},
|
||||
{"Selector", 0xFFFFFF, ecs.colors.orange, "Снегопад", "Легкий снежок", "Что-то сыпется", "Без осадков"},
|
||||
{"Selector", 0xFFFFFF, ecs.colors.orange, "Легкое вращение", "Быстрое вращение", "Турбина", "Дюраселл", "Без вращения"},
|
||||
{"EmptyLine"},
|
||||
{"CenterText", ecs.colors.orange, "Размер елочки"},
|
||||
{"EmptyLine"},
|
||||
{"Slider", ecs.colors.white, ecs.colors.orange, 1, 100, 50, "", ""},
|
||||
{"EmptyLine"},
|
||||
{"CenterText", ecs.colors.white, "Программа закрывается через"},
|
||||
{"CenterText", ecs.colors.white, "CTRL + ALT + C"},
|
||||
{"EmptyLine"},
|
||||
{"Button", {ecs.colors.orange, 0xffffff, "OK"}, {0x999999, 0xffffff, "Отмена"}}
|
||||
)
|
||||
|
||||
local snowMode, rotationMode, scale, buttonPress = data[1], data[2], data[3], data[4]
|
||||
|
||||
scale = scale * 4 / 100
|
||||
|
||||
if snowMode == "Снегопад" then
|
||||
snowMode = 0
|
||||
elseif snowMode == "Легкий снежок" then
|
||||
snowMode = 0.2
|
||||
elseif snowMode == "Что-то сыпется" then
|
||||
snowMode = 0.5
|
||||
end
|
||||
|
||||
if rotationMode == "Легкое вращение" then
|
||||
rotationMode = 5
|
||||
elseif rotationMode == "Быстрое вращение" then
|
||||
rotationMode = 15
|
||||
elseif rotationMode == "Турбина" then
|
||||
rotationMode = 25
|
||||
elseif rotationMode == "Дюраселл" then
|
||||
rotationMode = 35
|
||||
elseif rotationMode == "Без вращения" then
|
||||
rotationMode = 0
|
||||
end
|
||||
|
||||
if buttonPress == "Отмена" then return end
|
||||
|
||||
-----------------------------------------------------------
|
||||
|
||||
-- создаем модель елки
|
||||
local tSpruce = {3, 2, 2, 2, 2, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 4, 6, 8, 7, 6, 5, 4, 3, 6, 5, 4, 3, 2, 3, 2, 1}
|
||||
|
||||
@ -82,12 +131,16 @@ local function falling_snow() -- сдвигаем снежинки вниз
|
||||
else
|
||||
table.remove(tSnow,i)
|
||||
end
|
||||
os.sleep(0)
|
||||
os.sleep(snowMode)
|
||||
end
|
||||
end
|
||||
|
||||
ecs.info("auto", "auto", "", "Счастливого нового года!")
|
||||
|
||||
hologram.clear()
|
||||
hologram.setScale(20)
|
||||
hologram.setRotationSpeed(rotationMode, 0, 23, 0)
|
||||
|
||||
spruce()
|
||||
while 1 do
|
||||
gen_snow()
|
||||
|
||||
@ -1959,7 +1959,7 @@ function ECSAPI.universalWindow(x, y, width, background, closeWindowAfter, ...)
|
||||
--Элементы рисуем
|
||||
xPos = xPos + 2
|
||||
for i = 1, countOfElements do
|
||||
ECSAPI.colorText(xPos, yPos, 0x000000, ECSAPI.stringLimit("start", objects[number][i + 3], spisokWidth - 4))
|
||||
ECSAPI.colorText(xPos, yPos, borderColor, ECSAPI.stringLimit("start", objects[number][i + 3], spisokWidth - 4))
|
||||
coords[i] = {xPos - 1, yPos, xPos + spisokWidth - 4, yPos}
|
||||
yPos = yPos + 1
|
||||
end
|
||||
@ -2200,7 +2200,7 @@ function ECSAPI.demoWindow()
|
||||
--Очищаем экран перед юзанием окна и ставим курсор на 1, 1
|
||||
ECSAPI.prepareToExit()
|
||||
--Рисуем окно и получаем данные после взаимодействия с ним
|
||||
local data = ECSAPI.universalWindow("auto", "auto", 36, 0xeeeeee, true, {"EmptyLine"}, {"CenterText", 0x880000, "Здорово, ебана!"}, {"EmptyLine"}, {"Input", 0x262626, 0x880000, "Сюда вводить можно"}, {"Selector", 0x262626, 0x880000, "Выбор формата", "PNG", "JPG", "GIF", "PSD"}, {"EmptyLine"}, {"WrappedText", 0x262626, "Тест автоматического переноса букв в зависимости от ширины данного окна. Пока что тупо режет на куски, не особо красиво."}, {"EmptyLine"}, {"Select", 0x262626, 0x880000, "Я пидор", "Я не пидор"}, {"Slider", 0x262626, 0x880000, 1, 100, 50, "Убито ", " младенцев"}, {"EmptyLine"}, {"Separator", 0xaaaaaa}, {"Switch", 0xF2B233, 0xffffff, 0x262626, "✈ Авиарежим", false}, {"EmptyLine"}, {"Switch", 0x3366CC, 0xffffff, 0x262626, "☾ Не беспокоить", true}, {"Separator", 0xaaaaaa}, {"EmptyLine"}, {"TextField", 5, 0xffffff, 0x262626, 0xcccccc, 0x3366CC, "Тест текстового информационного поля. По сути это тот же самый WrappedText, разве что эта хрень ограничена по высоте, и ее можно скроллить. Ну же, поскролль меня! Скролль меня полностью! Моя жадная пизда жаждет твой хуй!"}, {"EmptyLine"}, {"Button", {0x57A64E, 0xffffff, "Да"}, {0xF2B233, 0xffffff, "Нет"}, {0xCC4C4C, 0xffffff, "Отмена"}})
|
||||
local data = ECSAPI.universalWindow("auto", "auto", 36, 0xeeeeee, true, {"EmptyLine"}, {"CenterText", 0x880000, "Здорово, ебана!"}, {"EmptyLine"}, {"Input", 0x262626, 0x880000, "Сюда вводить можно"}, {"Selector", ECSAPI.colors.green, 0x880000, "Выбор формата", "PNG", "JPG", "GIF", "PSD"}, {"EmptyLine"}, {"WrappedText", 0x262626, "Тест автоматического переноса букв в зависимости от ширины данного окна. Пока что тупо режет на куски, не особо красиво."}, {"EmptyLine"}, {"Select", 0x262626, 0x880000, "Я пидор", "Я не пидор"}, {"Slider", 0x262626, 0x880000, 1, 100, 50, "Убито ", " младенцев"}, {"EmptyLine"}, {"Separator", 0xaaaaaa}, {"Switch", 0xF2B233, 0xffffff, 0x262626, "✈ Авиарежим", false}, {"EmptyLine"}, {"Switch", 0x3366CC, 0xffffff, 0x262626, "☾ Не беспокоить", true}, {"Separator", 0xaaaaaa}, {"EmptyLine"}, {"TextField", 5, 0xffffff, 0x262626, 0xcccccc, 0x3366CC, "Тест текстового информационного поля. По сути это тот же самый WrappedText, разве что эта хрень ограничена по высоте, и ее можно скроллить. Ну же, поскролль меня! Скролль меня полностью! Моя жадная пизда жаждет твой хуй!"}, {"EmptyLine"}, {"Button", {0x57A64E, 0xffffff, "Да"}, {0xF2B233, 0xffffff, "Нет"}, {0xCC4C4C, 0xffffff, "Отмена"}})
|
||||
--Еще разок
|
||||
ECSAPI.prepareToExit()
|
||||
--Выводим данные
|
||||
@ -2210,6 +2210,8 @@ function ECSAPI.demoWindow()
|
||||
print(" ")
|
||||
end
|
||||
|
||||
-- ECSAPI.demoWindow()
|
||||
|
||||
--[[
|
||||
Функция universalWindow(x, y, width, background, closeWindowAfter, ...)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user