123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "RenderPluginDelegate.h"
- @implementation RenderPluginDelegate
- - (void)mainDisplayInited:(struct UnityDisplaySurfaceBase*)surface
- {
- mainDisplaySurface = surface;
- // TODO: move lifecycle to init?
- UnityRegisterLifeCycleListener(self);
- }
- @end
- #define CALL_METHOD_ON_ARRAY(method) \
- do{ \
- for(id<RenderPluginDelegate> del in delegateArray) \
- { \
- if([del respondsToSelector:@selector(method)]) \
- [del method]; \
- } \
- } while(0)
- #define CALL_METHOD_ON_ARRAY_ARG(method, arg) \
- do{ \
- for(id<RenderPluginDelegate> del in delegateArray) \
- { \
- if([del respondsToSelector:@selector(method:)]) \
- [del method:arg]; \
- } \
- } while(0)
- @implementation RenderPluginArrayDelegate
- @synthesize delegateArray;
- - (void)mainDisplayInited:(struct UnityDisplaySurfaceBase*)surface
- {
- [super mainDisplayInited: surface];
- CALL_METHOD_ON_ARRAY_ARG(mainDisplayInited, surface);
- }
- - (void)onBeforeMainDisplaySurfaceRecreate:(struct RenderingSurfaceParams*)params
- {
- CALL_METHOD_ON_ARRAY_ARG(onBeforeMainDisplaySurfaceRecreate, params);
- }
- - (void)onAfterMainDisplaySurfaceRecreate;
- {
- CALL_METHOD_ON_ARRAY(onAfterMainDisplaySurfaceRecreate);
- }
- - (void)onFrameResolved;
- {
- CALL_METHOD_ON_ARRAY(onFrameResolved);
- }
- - (void)didBecomeActive:(NSNotification*)notification
- {
- CALL_METHOD_ON_ARRAY_ARG(didBecomeActive, notification);
- }
- - (void)willResignActive:(NSNotification*)notification
- {
- CALL_METHOD_ON_ARRAY_ARG(willResignActive, notification);
- }
- - (void)didEnterBackground:(NSNotification*)notification
- {
- CALL_METHOD_ON_ARRAY_ARG(didEnterBackground, notification);
- }
- - (void)willEnterForeground:(NSNotification*)notification
- {
- CALL_METHOD_ON_ARRAY_ARG(willEnterForeground, notification);
- }
- - (void)willTerminate:(NSNotification*)notification
- {
- CALL_METHOD_ON_ARRAY_ARG(willTerminate, notification);
- }
- @end
- #undef CALL_METHOD_ON_ARRAY
- #undef CALL_METHOD_ON_ARRAY_ARG
|