/// <summary>
 /// Initializes a new instance of the <see cref="AssemblyGroupNode"/> class.
 /// </summary>
 /// <param name="assemblyGroup">The represented assembly group.</param>
 /// <param name="nodeCreator">The node creator.</param>
 public AssemblyGroupNode(AssemblyGroup assemblyGroup, INodeCreator nodeCreator)
 {
     this.assemblyGroup = assemblyGroup;
     this.displayName   = assemblyGroup.Name;
     this.nodeCreator   = nodeCreator;
     this.IsExpanded    = true;
     this.Visibility    = this.Assemblies.Count == 0 ? Visibility.Collapsed : Visibility.Visible;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AssemblyNode"/> class.
 /// </summary>
 /// <param name="assembly">The represented assembly.</param>
 /// <param name="nodeCreator">The node creator.</param>
 /// <param name="typeFilter">The type filter predicate.</param>
 public AssemblyNode(Assembly assembly, INodeCreator nodeCreator, Func <Type, bool> typeFilter)
 {
     this.assembly    = assembly;
     this.displayName = assembly.GetName().Name;
     this.nodeCreator = nodeCreator;
     this.typeFilter  = typeFilter ?? (t => true);
     this.Visibility  = this.Namespaces.Count == 0 ? Visibility.Collapsed : Visibility.Visible;
 }
        private static void ResolveDI()
        {
            _nodeCreator = UndeadEarth.Console.DependancyInjection.Instance.Resolve<INodeCreator>();
            _hotZoneRetriever = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IHotZoneRetriever>();
            _userCreationService = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserCreationService>();
            _userRetriever = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserRetriever>();
            _userMover = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserMoveDirector>();
            _userSaver = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserSaver>();
            _userEnergyProvider = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserEnergyProvider>();
            _huntDirector = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IHuntDirector>();
            _zombiePackRetriever = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IZombiePackRetriever>();
            _userZombiePackProgressRetriever = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserZombiePackProgressRetriever>();
            _userStatsRetriever = UndeadEarth.Controllers.DependancyInjection.Instance.Resolve<IUserStatsRetriever>();

        }
 /// <summary>
 /// Initializes a new instance of the <see cref="AssemblyGroupNode"/> class.
 /// </summary>
 /// <param name="assemblyGroup">The represented assembly group.</param>
 /// <param name="nodeCreator">The node creator.</param>
 public AssemblyGroupNode(AssemblyGroup assemblyGroup, INodeCreator nodeCreator)
 {
     this.assemblyGroup = assemblyGroup;
     this.displayName = assemblyGroup.Name;
     this.nodeCreator = nodeCreator;
     this.IsExpanded = true;
     this.Visibility = this.Assemblies.Count == 0 ? Visibility.Collapsed : Visibility.Visible;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="AssemblyNode"/> class.
 /// </summary>
 /// <param name="assembly">The represented assembly.</param>
 /// <param name="nodeCreator">The node creator.</param>
 /// <param name="typeFilter">The type filter predicate.</param>
 public AssemblyNode(Assembly assembly, INodeCreator nodeCreator, Func<Type, bool> typeFilter)
 {
     this.assembly = assembly;
     this.displayName = assembly.GetName().Name;
     this.nodeCreator = nodeCreator;
     this.typeFilter = typeFilter ?? (t => true);
     this.Visibility = this.Namespaces.Count == 0 ? Visibility.Collapsed : Visibility.Visible;
 }
 public NodeProcessor(IStringParser stringParser, INodeCreator creator)
 {
     _stringParser = stringParser;
     _creator      = creator;
 }