/// <summary> /// Setup constructor /// </summary> /// <param name="viewFactory">View factory</param> /// <param name="context">Selected biome context</param> /// <param name="completeBiomeList">List of all biomes that can be selected</param> /// <param name="currentBiomeList">Current biome list</param> /// <param name="view">View to watch</param> /// <exception cref="System.ArgumentNullException">Thrown if workspace, model or view are null</exception> public BiomeListController( IViewFactory viewFactory, SelectedBiomeContext context, BiomeListModel completeBiomeList, BiomeListModel currentBiomeList, IBiomeListView view ) { Arguments.CheckNotNull( viewFactory, "viewFactory" ); Arguments.CheckNotNull( context, "context"); Arguments.CheckNotNull( completeBiomeList, "completeBiomeList" ); Arguments.CheckNotNull( currentBiomeList, "currentBiomeList" ); Arguments.CheckNotNull( view, "view" ); m_ViewFactory = viewFactory; m_Context = context; m_AllBiomes = completeBiomeList; m_CurrentBiomes = currentBiomeList; // Run through all the available biomes foreach ( BiomeModel model in m_AllBiomes.Models ) { // Add the current biome to the view. Set it as selected if it is in the current biome list view.AddBiome( model, m_CurrentBiomes.Models.IndexOf( model ) != -1 ); } view.OnCreateBiome += OnCreateBiome; view.OnAddBiome += OnAddBiome; view.OnRemoveBiome += OnRemoveBiome; view.BiomeSelected += OnBiomeSelected; view.OnDeleteBiome += OnDeleteBiome; m_View = view; }
/// <summary> /// Setup constructor /// </summary> /// <param name="context">Biome selection context</param> /// <param name="view">Biome terrain texture view</param> /// <exception cref="System.ArgumentNullException">Thrown if context or view is null</exception> public BiomeTerrainTextureController( SelectedBiomeContext context, IBiomeTerrainTextureView view ) { Arguments.CheckNotNull( context, "context" ); Arguments.CheckNotNull( view, "view" ); context.BiomeSelected += OnBiomeSelected; // Create a new child controller for controlling the terrain type list view m_TerrainTypeListController = new TerrainTypeListController( null, view.TerrainTypesView ); }