INode* SpriteReader::CreateNodeWithFlatBuffers(INodeEditor& editor, const flatbuffers::Table* spriteOptions, const StringRef& className /*= StringRef::Empty*/, NodeCreateFlags flags /*= NodeCreateFlags::None*/) { auto options = (flatbuffers::SpriteOptions*)spriteOptions; auto sprite = CreateSprite(options->fileNameData()->path()->c_str()); SetPropsWithFlatBuffers(sprite, (flatbuffers::Table*) options->nodeOptions()); return sprite; }
INode* ImageViewReader::CreateNodeWithFlatBuffers(INodeEditor& editor, const flatbuffers::Table* imageOptions, const StringRef& className, NodeCreateFlags flags /*= NodeCreateFlags::None*/) { auto options = (flatbuffers::ImageViewOptions*)imageOptions; StringRef fullName = options->fileNameData()->path()->c_str(); auto fileId = FileId::ParseFrom(fullName); auto sprite = CreateNineGridSprite(options->scale9Enabled(), options->scale9Size(), options->widgetOptions()->size(), options->capInsets(), fileId); SetPropsWithFlatBuffers(sprite, (flatbuffers::Table*) options->widgetOptions(), flags); return sprite; }
INode* ProjectNodeReader::CreateNodeWithFlatBuffers(INodeEditor& editor, const flatbuffers::Table* nodeOptions, const StringRef& className, NodeCreateFlags flags /*= NodeCreateFlags::None*/) { auto projectNodeOptions = (flatbuffers::ProjectNodeOptions*)nodeOptions; StringRef filePath = projectNodeOptions->fileName()->c_str(); filePath = Path::GetFileName(filePath); RETURN_NULL_IF_FALSE(FileSystem::Instance().AssertExists(filePath)); INode* node = editor.Create("", filePath,IEventArg::Empty, flags); SetPropsWithFlatBuffers(node, (flatbuffers::Table*)(projectNodeOptions->nodeOptions()), flags); return node; }
INode* TextBMFontReader::CreateNodeWithFlatBuffers(INodeEditor& editor, const flatbuffers::Table* textOptions, const StringRef& className, NodeCreateFlags flags /*= NodeCreateFlags::None*/) { auto options = (flatbuffers::TextBMFontOptions*)textOptions; auto fileId = FileId::ParseFrom(options->fileNameData()->path()->c_str()); FontId fontId; fontId = FontFactory::Instance().ExistsOrDefault(fileId); ILabel* label = NodeFactory::Instance().CreateSingleLineLabel(fontId, options->text()->c_str()); label->SetColor(Color4F::White); SetPropsWithFlatBuffers(label, (flatbuffers::Table*) options->widgetOptions(), flags); return label; }
INode* LayerReader::CreateNodeWithFlatBuffers(INodeEditor& editor, const flatbuffers::Table *nodeOptions, const StringRef& className, NodeCreateFlags flags /*= NodeCreateFlags::None*/) { ILayer* node = nullptr; if (className.IsEmpty()) { node = LayerFactory::Instance().Create<NormalLayer>(IEventArg::Empty,flags); } else { node = LayerFactory::Instance().Create(className, FileIdRef::Empty, IEventArg::Empty, flags); } SetPropsWithFlatBuffers(node, nodeOptions,flags); return node; }
INode* NodeReader::CreateNodeWithFlatBuffers(INodeEditor& editor, const flatbuffers::Table* nodeOptions, const StringRef& className /*= StringRef::Empty*/, NodeCreateFlags flags /*= NodeCreateFlags::None*/) { auto node = new INode(); SetPropsWithFlatBuffers(node, nodeOptions, flags); return node; }