public void atari_motion_objects_device_after_ctor(object screen_tag, atari_motion_objects_config config) { if (screen_tag is string) { m_divideo.set_screen((string)screen_tag); } else if (screen_tag is device_finder <screen_device, bool_const_false> ) { m_divideo.set_screen((device_finder <screen_device, bool_const_false>)screen_tag); } else if (screen_tag is device_finder <screen_device, bool_const_true> ) { m_divideo.set_screen((device_finder <screen_device, bool_const_true>)screen_tag); } else { throw new emu_unimplemented(); } set_config(config); }
void set_config(atari_motion_objects_config config) { m_atari_motion_objects_config = config; } //void set_config(const atari_motion_objects_config &config) { static_cast<atari_motion_objects_config &>(*this) = config; }
// construction/destruction //template <typename T> atari_motion_objects_device(machine_config mconfig, string tag, device_t owner, uint32_t clock, object screen_tag, atari_motion_objects_config config) : this(mconfig, tag, owner, clock) { if (screen_tag is string) { m_divideo.set_screen((string)screen_tag); } else if (screen_tag is device_finder <screen_device, bool_const_true> ) { m_divideo.set_screen((device_finder <screen_device, bool_const_true>)screen_tag); } else if (screen_tag is device_finder <screen_device, bool_const_false> ) { m_divideo.set_screen((device_finder <screen_device, bool_const_false>)screen_tag); } else { throw new emu_unimplemented(); } set_config(config); }