/// <summary> Initializes the views for the game. </summary> private void InitializeViews() { var pistolModel = UnitySystem.RetrieveModel <IFireableWeaponModel>("Weapon/Pistol"); var shotgunModel = UnitySystem.RetrieveModel <IFireableWeaponModel>("Weapon/Shotgun"); _firableWeaponController = new FireableWeaponController(AllServices.RaycastService, AllServices.RandomNumberGenerator); _playerController = new PlayerController(_player, _firableWeaponController); var weapons = from stat in GlobalResources.WeaponStats.Take(5) let model = stat.AmmoType == AmmoType.Pistol ? pistolModel : shotgunModel let weapon = new FireableWeapon(new FireableWeaponTemplate(model, null, stat)) select(IItemModel) weapon; var ammos = GlobalResources.Ammos.Cast <IItemModel>().Take(5); weapons.Concat(ammos) .Take(10) .Select(w => new InventoryStack(w, w.StackAmount)) .ToList() .ForEach(itemStack => _player.Inventory.AddToStorage(itemStack)); SwitchSlots(1); }