You.i Engine
Import

Detailed Description

Importing content from After Effects and other design tools.

A key feature of You.i Engine is its ability to import data to use as templates for creating views. Developers are able to create an entire graphical user interface in an authoring tool, and import their work directly into You.i Engine to make use of its animations, images, transformations, and placement logic. You.i Engine natively supports importing a proprietary file format exported with You.i Engine After Effects Plug-in in order to create these templates.

Using Templates

In a standard usage scenario, an application can import a file as a scene using CYISceneManager::LoadScene(). This is typically used for loading whole screens since file IO will occur each time it is called. In situations where creating a new view from a file would negatively affect performance, the CYIViewTemplate class can be used. CYIViewTemplate::GetViewTemplate() allows a developer to import a file and create a template asset from which views can be created. Using this method, file IO will only occur when the template asset is created. The template asset can then be used to create any number of views using CYIAssetViewTemplate::BuildView().

A typical use case for this would be creating views for items in a list as it is scrolled. CYIListItem natively supports using view template assets to create its view using CYIListItem::SetListItemTemplate().

The Carousel sample makes use of templates in its custom CYIListItem, CarouselItem:

    CarouselItem::CarouselItem(const std::shared_ptr<CYIAssetTexture> &pAsset)
    : m_pAsset(pAsset)
    {
            SetListItemTemplate(CYIViewTemplate::GetViewTemplate("Carousel_List-Item"));
    }

When the list requests that the item create its view, the template is used:

    CYISceneView *CarouselItem::CreateView(CYISceneManager *pSceneManager)
    {
            CYISceneView *pView = m_pListItemTemplate->BuildView(pSceneManager);
    }

Classes

class  CYIAEViewTemplate
 A specialized CYIViewTemplate providing data read from a layout file. More...
 
class  IYIPropertiesSource
 An interface to a class that provides key-value properties. More...
 
class  CYIViewTemplate
 A view template defines information about a view, so it can be built automatically. More...
 
class  CYIViewTemplateFactory