void Layout::Init(const Layout & other) { SetName(other.name); backgroundColorR = other.backgroundColorR; backgroundColorG = other.backgroundColorG; backgroundColorB = other.backgroundColorB; standardSortMethod = other.standardSortMethod; title = other.title; oglFOV = other.oglFOV; oglZNear = other.oglZNear; oglZFar = other.oglZFar; stopSoundsOnStartup = other.stopSoundsOnStartup; disableInputWhenNotFocused = other.disableInputWhenNotFocused; initialInstances = other.initialInstances; initialLayers = other.initialLayers; variables = other.GetVariables(); initialObjects.clear(); for (std::size_t i =0;i<other.initialObjects.size();++i) initialObjects.push_back( std::shared_ptr<gd::Object>(other.initialObjects[i]->Clone()) ); behaviorsInitialSharedDatas.clear(); for (std::map< gd::String, std::shared_ptr<gd::BehaviorsSharedData> >::const_iterator it = other.behaviorsInitialSharedDatas.begin(); it != other.behaviorsInitialSharedDatas.end();++it) { behaviorsInitialSharedDatas[it->first] = it->second->Clone(); } #if defined(GD_IDE_ONLY) events = other.events; objectGroups = other.objectGroups; compiledEventsFile = other.compiledEventsFile; profiler = other.profiler; SetCompilationNeeded(); //Force recompilation/refreshing SetRefreshNeeded(); #endif }