Данный пост относится к этому, здесь описывается функционал, работа и прочее для тех, кто хочет попробывать свои силы.
Ещё не завершено.
Компьютер(/obj/machinery/newComputer/mainframe)
Скрытый текст
Содержимое спойлера отсутствует в сохранённом тексте.
Параметры: sys - текущая операционная система. Равна операционной системе или null on - включен ли компьютер. 1 или 0
screen, hdd, auth, reader - экран, жёсткий диск, модуль аутентификации, привод для дисков. Равна железу или null
Методы:
InstallDefault() Ввод: ничего Вывод: ничего Используется: компьютер Устанавливает железо и ПО, при необходимости смены оборудования - переопределить полностью.
TurnOn() (н) Ввод: ничего Вывод: ничего Используется: компьютер Запуск компьютера
TurnOff() Ввод: ничего Вывод: ничего Используется: все Выключение компьютера
LaunchOS(%тип ОСи%) Ввод: экземпляр операционной системы Вывод: ничего Используется: все Использовать осторожно. Запускает указанную операционную систему.
AccessProblem(%лист доступа%) Ввод: экземпляр листа с доступами Вывод: 0, если всё в порядке. 1, если нет модуля аутентификации. 2, если пользователь не залогинился. 3, если недостаточно доступа. Используется: кодер Проверка наличия доступа.
MemoryProblem() Ввод: ничего Вывод: 0, если всё в порядке 1, если нет жёсткого диска Используется: кодер Проверка наличия памяти.
ReaderProblem() Ввод: ничего Вывод: 0, если всё в порядке 1, если нет ридера 2, если отсутствует диск Используется: кодер Проверка наличия диска
Topic() Ввод: href, href_list Вывод: ничего Используется: все Перечисление параметров(href_list["parameter_name"]) и их работа. Если говорится, что передаётся ссылка на объект, это значит, что требуется использовать parameter_name=\ref[refname], вместо parameter_name=1 . turn_off - выключение BIOS - отключение операционной системы OS - включение указанной операционной системы, передаётся ссылка hddwriteon - записывает приложение на жёсткий диск, передаётся ссылка hddremove - удаляет приложение с жёсткого диска, передаётся ссылка diskwriteon - записывает приложение на гибкий диск, передаётся ссылка diskremove- удаляет приложение с гибкого диска, передаётся ссылка ejectid - извлекает id из компьютера ejectdisk - извлекает диск из компьютера login - производит аутентификацию пользователя logout - удаляет данные о пользователе
Если перехват не произведён - передаёт операционной системе.
Пример: [s.name] где s - выбранная операционная система
Софт(/datum/software)
Скрытый текст
Содержимое спойлера отсутствует в сохранённом тексте.
Переменные: name - строка, имя приложения size - число, размер приложения mainframe - компьютер display_icon - строка, название изображения приложения
Методы:
Display() Ввод: ничего Вывод: строка Используется: компьютер Строит экран приложения
Setup(%компьютер%) Ввод: экземпляр компьютера Вывод: ничего Используется: компьютер Обязателен вызов родительского метода при переопределении(..()). Записывает переменную mainframe.
updateUsrDialog() Ввод: ничего Вывод: ничего Используется: кодер Обновляет экран приложения
Copy() Ввод: ничего Вывод: софт своего типа Используется: все Копирует приложение. В родительском методе создаётся объект аналогичного типа. Если требуется передать какие-то данные при копировании - переопределить.
Update() Ввод: ничего Вывод: ничего Используется: компьютер Вызывается каждую итерацию process(). Ничего не делает. При необходимости - переопределить.
inFocus() Ввод: ничего Вывод: 1 или 0 Используется: кодер Определяет, с этим ли приложением пользователь работает на данный момент.
onstart() Ввод: ничего Вывод: ничего Используется: компьютер Вызывается при запуске приложения. Ничего не делает. При необходимости - переопределить.
OnExit() Ввод: ничего Вывод: ничего Используется: компьютер Вызывается при запуске приложения. Ничего не делает. При необходимости - переопределить.
Topic() WIP
Операционная система(/datum/software/os)
Скрытый текст
Содержимое спойлера отсутствует в сохранённом тексте.
Coming Soon
По большей части мне это нужно, чтобы ещё на ранней стадии выявить все ошибки и неудобства. Если есть какие-то пожелания, но не типа "запили мне такое-то приложение", а "сделай возможность того-то", то пишите сюда.





