コード例 #1
0
ファイル: instance.cpp プロジェクト: bartbes/MultiMC4
void Instance::InsertMod(size_t index, const wxFileName &source)
{
	wxFileName dest(Path::Combine(GetInstModsDir().GetFullPath(), source.GetFullName()));
	if (!source.SameAs(dest))
	{
		wxCopyFile(source.GetFullPath(), dest.GetFullPath());
	}

	dest.MakeRelativeTo();
	SetNeedsRebuild();
	
	int oldIndex = Find(modList.begin(), modList.end(), [&dest] (Mod mod) -> bool
		{ return mod.GetFileName().SameAs(dest); });
	
	if (oldIndex != -1)
	{
		modList.erase(modList.begin() + oldIndex);
	}
	
	if (index >= modList.size())
		modList.push_back(Mod(dest));
	else
		modList.insert(modList.begin() + index, Mod(dest));
	
	SaveModList();
}
コード例 #2
0
/*******************************
*	Callbacks
*******************************/
void Core_SaveCallback(void * reserved)
{
	SaveModList(&g_OBSESerializationInterface);
	g_StringMap.Save(&g_OBSESerializationInterface);
	g_ArrayMap.Save(&g_OBSESerializationInterface);
	SaveGlobals (&g_OBSESerializationInterface);
}
コード例 #3
0
ファイル: instance.cpp プロジェクト: bartbes/MultiMC4
void Instance::DeleteMod(size_t index)
{
	Mod *mod = &modList[index];
	if (wxRemoveFile(mod->GetFileName().GetFullPath()))
	{
		SetNeedsRebuild();
		modList.erase(modList.begin() + index);
		SaveModList();
	}
	else
	{
		wxLogError(_("Failed to delete mod."));
	}
}
コード例 #4
0
ファイル: instance.cpp プロジェクト: bartbes/MultiMC4
void Instance::UpdateModList()
{
	LoadModList();
	SaveModList();
}
コード例 #5
0
void Core_SaveCallback(const F4SESerializationInterface * intfc)
{
	SaveModList(intfc);
}