public static void Init(GlobalState state) { if (state != null) { _state = state; BaseRenderer.UpdateState((BaseRenderer)BackgroundRenderer, state); BaseRenderer.UpdateState((BaseRenderer)MagicRenderer, state); } if (IsInitialized) { return; } _deviceManager1 = new CommonDX.DeviceManager(); _deviceManager2 = new CommonDX.DeviceManager(); _renderer1 = new DxRenderer.BackgroundComposer() { State = _state }; _renderer2 = new DxRenderer.MagicComposer() { State = _state }; BackgroundSIS = new SumoNinjaMonkey.Framework.Controls.DrawingSurfaceSIS( (gt) => { _renderer1.Update(gt); }, (tb) => { _renderer1.Render(tb); }, (dm) => { _renderer1.Initialize(dm); }, (e1, e2) => { _renderer1.InitializeUI(e1, e2); }, (uri) => { _renderer1.LoadLocalAsset(uri); }, () => { _renderer1.Unload(); }, _deviceManager1); //_renderer1, _deviceManager1); MagicSIS = new SumoNinjaMonkey.Framework.Controls.DrawingSurfaceSIS( (gt) => { _renderer2.Update(gt); }, (tb) => { _renderer2.Render(tb); }, (dm) => { _renderer2.Initialize(dm); }, (e1, e2) => { _renderer2.InitializeUI(e1, e2); }, (uri) => { _renderer2.LoadLocalAsset(uri); }, () => { _renderer2.Unload(); }, _deviceManager2); //_renderer2, _deviceManager2); IsInitialized = true; }
public static void Unload() { Stop(); if (BackgroundSIS != null) { BackgroundSIS.Unload(); BackgroundSIS = null; } if (MagicSIS != null) { MagicSIS.Unload(); MagicSIS = null; } if (_renderer1 != null) { _renderer1.Unload(); _renderer1 = null; } if (_renderer2 != null) { _renderer2.Unload(); _renderer2 = null; } if (_deviceManager1 != null) { _deviceManager1.Dispose(); _deviceManager1 = null; } if (_deviceManager2 != null) { _deviceManager2.Dispose(); _deviceManager2 = null; } IsInitialized = false; //need to do the disposing of the dx surfaces and pipeline here! }
public static void Init(GlobalState state) { if (state != null) { _state = state; BaseRenderer.UpdateState((BaseRenderer)BackgroundRenderer, state); BaseRenderer.UpdateState((BaseRenderer)MagicRenderer, state); } if (IsInitialized) return; _deviceManager1 = new CommonDX.DeviceManager(); _deviceManager2 = new CommonDX.DeviceManager(); _renderer1 = new DxRenderer.BackgroundComposer() { State = _state }; _renderer2 = new DxRenderer.MagicComposer() { State = _state }; BackgroundSIS = new SumoNinjaMonkey.Framework.Controls.DrawingSurfaceSIS( (gt) => { _renderer1.Update(gt); }, (tb) => { _renderer1.Render(tb); }, (dm) => { _renderer1.Initialize(dm); }, (e1, e2) => { _renderer1.InitializeUI(e1, e2); }, (uri) => { _renderer1.LoadLocalAsset(uri); }, () => { _renderer1.Unload(); }, _deviceManager1); //_renderer1, _deviceManager1); MagicSIS = new SumoNinjaMonkey.Framework.Controls.DrawingSurfaceSIS( (gt) => { _renderer2.Update(gt); }, (tb) => { _renderer2.Render(tb); }, (dm) => { _renderer2.Initialize(dm); }, (e1, e2) => { _renderer2.InitializeUI(e1, e2); }, (uri) => { _renderer2.LoadLocalAsset(uri); }, () => { _renderer2.Unload(); }, _deviceManager2); //_renderer2, _deviceManager2); IsInitialized = true; }