Jump to content

Search the Community

Showing results for tags 'oil_refinery_sample'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to UNIGINE Forums
    • News & Announcements
    • Getting started
  • Development
    • Content Creation
    • World Design
    • Rendering
    • Animation
    • Physics, Navigation and Path Finding
    • UI Systems
    • Sound & Video
    • Editor
    • C++ Programming
    • C# Programming
    • Networking
    • Sim IG (Image Generator)
    • VR Discussions
    • General
  • Improving UNIGINE
    • Documentation
    • Feedback for UNIGINE team
    • Bug Reports
    • Unigine SDK Beta feedback
  • Community
    • Add-on Store (https://store.unigine.com/)
    • Showcase
    • Collaboration
    • Tools, Plugins, Materials & Tutorials
    • General Discussions
  • Legacy
    • UnigineScript

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 1 result

  1. Добрый день, сотрудники компании Unigine. Разбираюсь в реализации функционала основного интерфейса проекта "oil_refinery_sample". Обнаружил в проекте 2 файла "oil_refinery.cpp": Первый расположен в ".\source\oil_refinery.cpp", содержит вызов основного метода "main" С++-проекта, в котором: Инициализируется движок; Объявляются ряд глобальных имён (ссылок на методы); Запускается метод engine->main(...) движка; Этот исходник добавлен в дерево проекта и вопросов не вызывает. Второй расположен в ".\data\oil_refinery\oil_refinery.cpp". В дерево проекта он не добавлен, но содержит объявление всех Widget-в использующихся в основном интерфейсе проекте, логику их инициализации и обработчики взаимодействия пользователя с этими Widget-ами. При этом, в методе "init()" инициализируется переменная "interface" типа "UserInterface" на основе файла ".\data\oil_refinery\oil_refinery.ui", но после этого нигде в этом исходнике не используется. Вопросы: Я не нашёл места где в проекте добавляется исходник №2, т.е. в какой момент этот код компилируется и исполняется? Правильно-ли я понимаю, что наличие кода №2 является каким-то внутренним строгим правилом реализации механизма интерфейсов на движке? Т.е. движок запустит и исполнит его код (код исходника №2) в момент своей инициализации или вызова метода engine->main() вызываемых в основном методе main-проекта вызываемого в исходнике №1? Структура кода в исходнике №2 содержит методы init(), update(), render(), flush(), shutdown(), что наводит на мысль о некоторой системности структуры этого исходника. Скажите - это какой-то общий подход? Как можно понять его назначение, момент выполнения написанного в нём кода, его, возможно необходимой структуры (набор методов), возможно он требует обязательного наличия одноимённых файлов других типов (таких как *.ui и т.д.) и находится с ними в связке на уровне движка? Но, тогда, где это задаётся или описывается? Относительно структуры я вижу, что при создании проекта типа UnigineScript, методика которого описана по этой ссылке в пунктах 5 и 6 создаются строго определённые файлы с похожей структурой, но с расширением *.usc соответственно, можно положить, что этот-же подход применим и для проектов другого типа. Но при создании C++-проекта подобные файлы (с расширением *.cpp) отсутствуют, что сбивает с толку. Вообщем я понимаю, что не знаю чего-то фундаментального связанного с движком, если есть место где это описано, покажите пожалуйста. Моя задача на данный момент сводится к добавлению на экране пары checkbox-ов с возможностью выбора режимов (обучение или тестирование). В зависимости от выбора планирую менять логику отображения и функционирования элементов на подобии как это реализовано в самом проекте oil_refinery_sample в интерактивном режиме. Что мне для этого понадобиться (файлы с логикой, ui-файл и т.д.)? Как мне это реализовать? Прошу описать, конечно в общих чертах, для лучшего понимания относительно того как это реализовано в проекте "oil_refinery_sample".
×
×
  • Create New...