Пример #1
0
XSPBaseLayer XBaseLayer::sCreate( xSpr::xtLayer type )
{
    XSPBaseLayer spBaseLayer;
    switch( type ) {
    case xSpr::xLT_IMAGE:
        spBaseLayer = xSPLayerImage( new XLayerImage );
        break;
    case xSpr::xLT_OBJECT:
        spBaseLayer = XSPLayerObject( new XLayerObject );
        break;
    case xSpr::xLT_SOUND:
        spBaseLayer = XSPLayerSound( new XLayerSound );
        break;
    case xSpr::xLT_EVENT:
        spBaseLayer = XSPLayerEvent( new XLayerEvent );
        break;
    case xSpr::xLT_DUMMY:
        spBaseLayer = XSPLayerDummy( new XLayerDummy );
        break;
    default:
        XBREAKF( 1, "알수없는 레이어 타입:type=%d", type );
        break;
    }
    if( spBaseLayer )
        spBaseLayer->OnCreate();
    return spBaseLayer;
}
Пример #2
0
XSPBaseLayer XLayerEvent::CreateCopy( XSPActObjConst spActObjSrc ) const
{
	auto spNewLayer = XSPLayerEvent( new XLayerEvent( *this ) );
	spNewLayer->OnCreate();
	return spNewLayer;
}