public EditorSessionFrame(EditorSession editorSession) { EditorSession = editorSession; EditorSession.OnChanged += () => { HasUnsavedChanges = true; }; var feature = EditorSession.GetOrCreateFeature <FramedEditorSessionFeature>(); feature.Frame = this; }
public EditorSessionFrame(IResource resource) { Resource = resource; JObject editorTarget; using (var editorTargetData = Resource.Content.LoadStream()) using (var sr = new StreamReader(editorTargetData)) using (var reader = new JsonTextReader(sr)) { editorTarget = JObject.Load(reader); } var manifest = BehaviourManifest.CreateFromAppDomain(AppDomain.CurrentDomain); string typeName = null; if (Resource.Tags.Contains("type-building")) { typeName = "BuildingTemplate"; } else if (Resource.Tags.Contains("type-resource")) { typeName = "ResourceTemplate"; } else if (Resource.Tags.Contains("type-buildingpack")) { typeName = "BuildingPackTemplate"; } else if (Resource.Tags.Contains("gamerules")) { typeName = "GameRulesTemplate"; } else if (Resource.Tags.Contains("type-project")) { typeName = "ProjectModel"; } else if (Resource.Tags.Contains("type-skill")) { typeName = "SkillModel"; } else if (Resource.Tags.Contains("type-category")) { typeName = "ProjectCategoryModel"; } else if (Resource.Tags.Contains("type-education")) { typeName = "EducationalInstitutionModel"; } else if (Resource.Tags.Contains("type-company")) { typeName = "CompanyModel"; } else if (Resource.Tags.Contains("type-category")) { typeName = "ProjectCategoryModel"; } else { typeName = "ProceduralItemTemplate"; } EditorSession = new EditorSession(manifest, editorTarget, typeName, serializer); EditorSession.OnChanged += () => { HasUnsavedChanges = true; }; var feature = EditorSession.GetOrCreateFeature <FramedEditorSessionFeature>(); feature.Frame = this; }