public ReplayerTableConfigurator()
 {
     hudLayoutsService         = ServiceLocator.Current.GetInstance <IHudLayoutsService>();
     dataService               = ServiceLocator.Current.GetInstance <IDataService>();
     storageModel              = ServiceLocator.Current.TryResolve <SingletonStorageModel>();
     playerStatisticRepository = ServiceLocator.Current.GetInstance <IPlayerStatisticRepository>();
 }
Exemple #2
0
        public HudPlayerSettingsViewModel(HudPlayerSettingsViewModelInfo viewModelInfo) : base()
        {
            Check.ArgumentNotNull(() => viewModelInfo);

            this.viewModelInfo = viewModelInfo;

            hudLayoutService  = ServiceLocator.Current.GetInstance <IHudLayoutsService>();
            playerTypeService = ServiceLocator.Current.GetInstance <IHudPlayerTypeService>();

            Initialize();
        }
        private void DuplicateAdditionalLayouts(TableType[] tableTypes, HudLayoutInfoV2 sourceLayout, IHudLayoutsService hudLayoutsService)
        {
            LogProvider.Log.Info($"Duplicate layout for the following types: {string.Join(", ", tableTypes.Select(x => x.Name))}");

            foreach (var tableType in tableTypes)
            {
                if (!Enum.IsDefined(typeof(EnumTableType), (byte)tableType.MaxPlayers))
                {
                    continue;
                }

                var duplicateTableType = (EnumTableType)tableType.MaxPlayers;

                var sourceTableTypeText    = CommonResourceManager.Instance.GetEnumResource(sourceLayout.TableType);
                var duplicateTableTypeText = CommonResourceManager.Instance.GetEnumResource(duplicateTableType);

                var duplicateLayoutName = $"{sourceLayout.Name.Replace(sourceTableTypeText, string.Empty)} {duplicateTableTypeText}";

                var duplicatedLayout = hudLayoutsService.DuplicateLayout(duplicateTableType, duplicateLayoutName, sourceLayout);

                if (duplicatedLayout != null)
                {
                    LogProvider.Log.Info($"Duplicated {sourceLayout.Name}, {sourceTableTypeText} to {duplicatedLayout.Name}, {duplicateTableTypeText}");
                    continue;
                }

                LogProvider.Log.Info($"Failed to duplicate {sourceLayout.Name}, {sourceTableTypeText} to {duplicateLayoutName}, {duplicateTableTypeText}");
            }
        }