static int GetSceneIndex(Scene scene) { for (int i = 0; i < EditorSceneManager.sceneCount; i++) { if (EditorSceneManager.GetSceneAt(i) == scene) { return(i); } } throw Assert.CreateException(); }
static void AddToContractMap( Dictionary <string, LoadedSceneInfo> contractMap, LoadedSceneInfo info) { if (info.SceneContext == null) { return; } foreach (var contractName in info.SceneContext.ContractNames) { LoadedSceneInfo currentInfo; if (contractMap.TryGetValue(contractName, out currentInfo)) { throw Assert.CreateException( "Found multiple scene contracts with name '{0}'. Scene '{1}' and scene '{2}'", contractName, currentInfo.Scene.name, info.Scene.name); } contractMap.Add(contractName, info); } }