├── packaging └── .gitignore ├── source ├── Plugins │ ├── AudibleNotifications │ │ ├── Properties │ │ │ └── AudibleNotificationsResources.ja.Designer.cs │ │ ├── Models │ │ │ └── MediaFileList.cs │ │ ├── packages.config │ │ ├── app.config │ │ ├── Views │ │ │ └── AudibleNotificationsSettings.xaml.cs │ │ └── AudibleNotifierBase.cs │ ├── MasterDataViewer │ │ ├── packages.config │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── ViewModels │ │ │ └── PortalViewModel.cs │ │ ├── Views │ │ │ ├── Settings.xaml │ │ │ ├── Portal.xaml.cs │ │ │ └── Settings.xaml.cs │ │ ├── app.config │ │ └── MasterDataViewer.cs │ ├── Logger │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── Settings.Designer.cs │ │ ├── Views │ │ │ └── LoggerView.xaml.cs │ │ └── packages.config │ ├── Counter │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ ├── AssemblyInfo.cs │ │ │ └── Settings.Designer.cs │ │ ├── CounterViewModel.cs │ │ ├── CounterView.xaml.cs │ │ ├── packages.config │ │ └── app.config │ ├── TaskbarProgress │ │ ├── packages.config │ │ ├── ExpeditionState.cs │ │ ├── Properties │ │ │ ├── Settings.settings │ │ │ └── AssemblyInfo.cs │ │ ├── ExpeditionProgressSettings.xaml │ │ ├── ExpeditionProgressSettings.xaml.cs │ │ └── app.config │ └── WindowsNotifier │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ ├── ToastNotifier.cs │ │ ├── WindowsNotifier.cs │ │ └── NotifierBase.cs ├── .nuget │ ├── NuGet.exe │ └── NuGet.Config ├── Tools │ ├── .nuget │ │ ├── NuGet.exe │ │ └── NuGet.Config │ └── Grabacr07.Tools.JsonViewer │ │ ├── App.config │ │ ├── packages.config │ │ ├── App.xaml.cs │ │ ├── App.xaml │ │ └── MainWindow.xaml.cs ├── Grabacr07.KanColleViewer │ ├── Assets │ │ └── app.ico │ ├── Models │ │ ├── Settings │ │ │ ├── ScreenshotSettings.cs │ │ │ ├── WindowSettings.cs │ │ │ └── Providers.cs │ │ ├── IZoomFactor.cs │ │ ├── INavigator.cs │ │ ├── ExitConfirmationType.cs │ │ └── SupportedImageFormat.cs │ ├── bin │ │ ├── Debug │ │ │ └── Plugins │ │ │ │ └── EventMapHpViewer.dll │ │ ├── Release │ │ │ └── Plugins │ │ │ │ └── EventMapHpViewer.dll │ │ └── Release (beta) │ │ │ └── Plugins │ │ │ └── EventMapHpViewer.dll │ ├── KanColleViewer.VisualElementsManifest.xml │ ├── Views │ │ ├── Information.xaml.cs │ │ ├── ExitDialog.xaml.cs │ │ ├── Settings │ │ │ ├── Browser.xaml.cs │ │ │ ├── Network.xaml.cs │ │ │ ├── Others.xaml.cs │ │ │ ├── Plugins.xaml.cs │ │ │ ├── Operation.xaml.cs │ │ │ ├── Settings.xaml.cs │ │ │ ├── PluginInfo.xaml.cs │ │ │ ├── Notification.xaml.cs │ │ │ ├── VersionInfo.xaml.cs │ │ │ ├── ProxyBootstrapperWindow.xaml.cs │ │ │ ├── PluginSettingsWindow.xaml.cs │ │ │ ├── Language.xaml.cs │ │ │ ├── Window.xaml.cs │ │ │ └── Common.xaml │ │ ├── StartContent.xaml.cs │ │ ├── BrowserNavigator.xaml.cs │ │ ├── KanColleWindowButtons.xaml.cs │ │ ├── Contents │ │ │ ├── StateDetailIndicator.xaml.cs │ │ │ ├── Shipyard.xaml.cs │ │ │ ├── Expeditions.xaml.cs │ │ │ ├── Fleets.xaml.cs │ │ │ ├── Homeport.xaml.cs │ │ │ ├── Overview.xaml.cs │ │ │ ├── Tools.xaml.cs │ │ │ ├── Quests.xaml.cs │ │ │ ├── StateIconIndicator.xaml.cs │ │ │ └── QuestViewSource.cs │ │ ├── StatusBar.xaml.cs │ │ ├── FleetWindow.xaml.cs │ │ ├── InformationWindow.xaml.cs │ │ ├── Behaviors │ │ │ ├── FocusAction.cs │ │ │ ├── ZoomAction.cs │ │ │ └── SetWindowLocationAction.cs │ │ ├── Catalogs │ │ │ ├── ShipCatalogWindow.xaml.cs │ │ │ └── SlotItemCatalogWindow.xaml.cs │ │ ├── BrowserWindow.xaml.cs │ │ ├── Dev │ │ │ ├── DebugTab.xaml.cs │ │ │ └── DebugTab.xaml │ │ └── Converters │ │ │ ├── NameLevelAdeptToStringConverter.cs │ │ │ └── RangeToBooleanConverter.cs │ ├── ViewModels │ │ ├── Settings │ │ │ ├── CultureViewModel.cs │ │ │ └── BindableTextViewModel.cs │ │ ├── NullViewModel.cs │ │ ├── Dev │ │ │ └── DebugTabViewModel.cs │ │ ├── Contents │ │ │ ├── Fleets │ │ │ │ ├── QuickStateViewViewModel.cs │ │ │ │ ├── SortieViewModel.cs │ │ │ │ ├── HomeportViewModel.cs │ │ │ │ ├── ConditionViewModel.cs │ │ │ │ └── ExpeditionViewModel.cs │ │ │ ├── ExpeditionsViewModel.cs │ │ │ ├── ShipSpeedExtensions.cs │ │ │ ├── AdmiralViewModel.cs │ │ │ ├── ShipsViewModel.cs │ │ │ ├── SlotItemsViewModel.cs │ │ │ ├── BuildingDockViewModel.cs │ │ │ └── RepairingDockViewModel.cs │ │ ├── Composition │ │ │ ├── ToolViewModel.cs │ │ │ └── NotifierViewModel.cs │ │ ├── DialogViewModel.cs │ │ ├── ItemViewModel.cs │ │ ├── StatusBarViewModel.cs │ │ ├── Messages │ │ │ ├── ScreenshotMessage.cs │ │ │ ├── Response.cs │ │ │ └── ZoomMessage.cs │ │ └── Catalogs │ │ │ └── ShipViewModel.cs │ ├── Win32 │ │ ├── RECT.cs │ │ ├── NativeMethods.cs │ │ ├── DVTARGETDEVICE.cs │ │ ├── IServiceProvider.cs │ │ └── IViewObject.cs │ ├── Composition │ │ ├── LoadFailedPluginData.cs │ │ ├── PluginMetadata.cs │ │ ├── AggregateNotifier.cs │ │ └── Plugin.cs │ ├── Themes │ │ ├── Generic.xaml │ │ ├── Generic.KanColleHost.xaml │ │ └── Accents │ │ │ └── Red.xaml │ ├── Styles │ │ └── Controls.xaml │ ├── Properties │ │ └── AssemblyInfo.cs │ └── packages.config ├── Grabacr07.KanColleViewer.Composition │ ├── Composition │ │ ├── PluginFeatureAttribute.cs │ │ ├── ILocalizable.cs │ │ ├── IPluginGuid.cs │ │ ├── INotifier.cs │ │ ├── IPlugin.cs │ │ ├── IRequestNotify.cs │ │ ├── ITool.cs │ │ ├── ISettings.cs │ │ ├── NotifyEventArgs.cs │ │ ├── TaskbarProgressEventArgs.cs │ │ ├── IPluginMetadata.cs │ │ └── ITaskbarProgress.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ └── KanColleViewer.Composition.nuspec ├── Analyzers │ ├── KanColleViewer.PluginAnalyzer.Test │ │ ├── DataSource │ │ │ ├── InvalidGuidMetadataTest │ │ │ │ └── DifferentFromIPluginGuid │ │ │ │ │ ├── Diagnostic │ │ │ │ │ └── results.json │ │ │ │ │ ├── Source │ │ │ │ │ ├── Tool.cs │ │ │ │ │ └── Plugin.cs │ │ │ │ │ └── Expected │ │ │ │ │ ├── Tool.cs │ │ │ │ │ └── Plugin.cs │ │ │ ├── result-schema-v1.json │ │ │ └── result-schema-v2.json │ │ ├── Const.cs │ │ └── packages.config │ └── KanColleViewer.PluginAnalyzer │ │ ├── packages.config │ │ ├── README.md │ │ ├── KanColleViewer.PluginAnalyzer.nuspec │ │ └── Properties │ │ └── AssemblyInfo.cs ├── Grabacr07.KanColleWrapper │ ├── Models │ │ ├── Translations │ │ │ ├── SimpleStringTranslationItem.cs │ │ │ ├── TranslationProviderType.cs │ │ │ ├── SimpleIdTranslationItem.cs │ │ │ ├── BaseTranslationSet.cs │ │ │ ├── ShipTranslationSet.cs │ │ │ ├── ShipTypeTranslationSet.cs │ │ │ ├── EquipmentTranslationSet.cs │ │ │ ├── ProcessUnknownEventArgs.cs │ │ │ └── QuestTranslationSet.cs │ │ ├── IIdentifiable.cs │ │ ├── Raw │ │ │ ├── kcsapi_ship_deck.cs │ │ │ ├── kcsapi_createship.cs │ │ │ ├── kcsapi_slot_exchange_index.cs │ │ │ ├── kcsapi_destroyitem2.cs │ │ │ ├── kcsapi_destroyship.cs │ │ │ ├── kcsapi_hensei_combined.cs │ │ │ ├── kcsapi_material.cs │ │ │ ├── kcsapi_mst_maparea.cs │ │ │ ├── kcsapi_mst_slotitem_equiptype.cs │ │ │ ├── kcsapi_slotitem.cs │ │ │ ├── kcsapi_powerup.cs │ │ │ ├── svdata.cs │ │ │ ├── kcsapi_ship3.cs │ │ │ ├── kcsapi_mst_stype.cs │ │ │ ├── kcsapi_mst_mapcell.cs │ │ │ ├── kcsapi_kdock_getship.cs │ │ │ ├── kcsapi_questlist.cs │ │ │ ├── kcsapi_mst_useitem.cs │ │ │ ├── kcsapi_require_info.cs │ │ │ ├── kcsapi_remodel_slotlist_detail.cs │ │ │ ├── kcsapi_deck.cs │ │ │ ├── kcsapi_charge.cs │ │ │ ├── kcsapi_useitem.cs │ │ │ ├── kcsapi_quest.cs │ │ │ ├── kcsapi_remodel_slotlist.cs │ │ │ ├── kcsapi_createitem.cs │ │ │ ├── kcsapi_ndock.cs │ │ │ ├── kcsapi_mission.cs │ │ │ ├── kcsapi_start2.cs │ │ │ ├── kcsapi_mst_mapinfo.cs │ │ │ ├── kcsapi_kdock.cs │ │ │ ├── kcsapi_slot_deprive.cs │ │ │ ├── kcsapi_map_start.cs │ │ │ └── kcsapi_remodel_slot.cs │ │ ├── Updater │ │ │ ├── kcvapi_ships.cs │ │ │ ├── UpdateAvailableEventArgs.cs │ │ │ └── kcvapi_version.cs │ │ ├── ExpeditionReturnedEventArgs.cs │ │ ├── ShipSituation.cs │ │ ├── QuestState.cs │ │ ├── QuestProgress.cs │ │ ├── ConditionRejuvenatedEventArgs.cs │ │ ├── RepairingDockState.cs │ │ ├── BuildingCompletedEventArgs.cs │ │ ├── RepairingCompletedEventArgs.cs │ │ ├── BUildingDockState.cs │ │ ├── FleetSpeed.cs │ │ ├── Mission.cs │ │ ├── QuestType.cs │ │ ├── Rank.cs │ │ ├── UseItemInfo.cs │ │ ├── UseItem.cs │ │ ├── ShipSlot.cs │ │ ├── SlotItemEquipType.cs │ │ ├── CreatedSlotItem.cs │ │ ├── FleetSituation.cs │ │ ├── RawDataWrapper.cs │ │ └── MapArea.cs │ ├── Internal │ │ ├── Definitions.cs │ │ └── Extensions.cs │ ├── KanColleError.cs │ ├── ProxyType.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── IProxySettings.cs │ ├── Notifier.cs │ ├── DisposableNotifier.cs │ ├── Calculator.cs │ ├── KanColleWrapper.nuspec │ ├── TimerNotifier.cs │ ├── Annotations │ │ ├── LightAttribute.cs │ │ └── DarkAttribute.cs │ ├── app.config │ └── IKanColleClientSettings.cs ├── .editorconfig └── Grabacr07.KanColleViewer.Controls │ ├── Styles │ ├── Colors.xaml │ └── Controls.xaml │ ├── Controls │ ├── AircraftProficiencyIcon.cs │ └── SlotItemIcon.cs │ ├── Themes │ └── Generic.xaml │ ├── Converters │ └── HasFlagConverter.cs │ └── Properties │ └── AssemblyInfo.cs ├── assemblies ├── DesktopToast.dll ├── Vannatech.CoreAudio.dll └── Microsoft.Expression.Drawing.dll ├── externals └── TrotiNet-src.zip ├── resources └── icons │ └── application │ ├── 128.png │ ├── 16.png │ ├── 20.png │ ├── 24.png │ ├── 256.png │ ├── 32.png │ ├── 40.png │ ├── 48.png │ ├── 64.png │ ├── app.ico │ └── data │ ├── icon-app.ai │ └── icon-app.psd ├── .gitmodules ├── .gitattributes ├── licenses ├── NETCoreAudioAPIs.txt ├── JSON.NET.md ├── Newtonsoft.Json.txt ├── Nekoxy.txt ├── StatefulModel.txt ├── DesktopToast.txt └── ConventionCodeFixVerifier.txt └── LICENSE.txt /packaging/.gitignore: -------------------------------------------------------------------------------- 1 | /* 2 | !/.gitignore 3 | !/*.ps1 4 | -------------------------------------------------------------------------------- /source/Plugins/AudibleNotifications/Properties/AudibleNotificationsResources.ja.Designer.cs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/.nuget/NuGet.exe -------------------------------------------------------------------------------- /assemblies/DesktopToast.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/assemblies/DesktopToast.dll -------------------------------------------------------------------------------- /externals/TrotiNet-src.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/externals/TrotiNet-src.zip -------------------------------------------------------------------------------- /source/Tools/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Tools/.nuget/NuGet.exe -------------------------------------------------------------------------------- /assemblies/Vannatech.CoreAudio.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/assemblies/Vannatech.CoreAudio.dll -------------------------------------------------------------------------------- /resources/icons/application/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/128.png -------------------------------------------------------------------------------- /resources/icons/application/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/16.png -------------------------------------------------------------------------------- /resources/icons/application/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/20.png -------------------------------------------------------------------------------- /resources/icons/application/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/24.png -------------------------------------------------------------------------------- /resources/icons/application/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/256.png -------------------------------------------------------------------------------- /resources/icons/application/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/32.png -------------------------------------------------------------------------------- /resources/icons/application/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/40.png -------------------------------------------------------------------------------- /resources/icons/application/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/48.png -------------------------------------------------------------------------------- /resources/icons/application/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/64.png -------------------------------------------------------------------------------- /resources/icons/application/app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/app.ico -------------------------------------------------------------------------------- /assemblies/Microsoft.Expression.Drawing.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/assemblies/Microsoft.Expression.Drawing.dll -------------------------------------------------------------------------------- /resources/icons/application/data/icon-app.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/data/icon-app.ai -------------------------------------------------------------------------------- /resources/icons/application/data/icon-app.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/resources/icons/application/data/icon-app.psd -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Assets/app.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Grabacr07.KanColleViewer/Assets/app.ico -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/Settings/ScreenshotSettings.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Grabacr07.KanColleViewer/Models/Settings/ScreenshotSettings.cs -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/bin/Debug/Plugins/EventMapHpViewer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Grabacr07.KanColleViewer/bin/Debug/Plugins/EventMapHpViewer.dll -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/bin/Release/Plugins/EventMapHpViewer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Grabacr07.KanColleViewer/bin/Release/Plugins/EventMapHpViewer.dll -------------------------------------------------------------------------------- /source/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/bin/Release (beta)/Plugins/EventMapHpViewer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Grabacr07.KanColleViewer/bin/Release (beta)/Plugins/EventMapHpViewer.dll -------------------------------------------------------------------------------- /source/Tools/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Plugins/AudibleNotifications/Models/MediaFileList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Grabacr07.KanColleViewer.Plugins.Models 4 | { 5 | public class MediaFileList 6 | { 7 | public List Files { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /source/Tools/Grabacr07.Tools.JsonViewer/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Plugins/Logger/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "source/MetroRadiance"] 2 | path = source/MetroRadiance 3 | url = https://github.com/Grabacr07/MetroRadiance 4 | [submodule "source/MetroTrilithon"] 5 | path = source/MetroTrilithon 6 | url = https://github.com/Grabacr07/MetroTrilithon 7 | -------------------------------------------------------------------------------- /source/Plugins/Counter/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/PluginFeatureAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Grabacr07.KanColleViewer.Composition 4 | { 5 | [AttributeUsage(AttributeTargets.Interface)] 6 | public sealed class PluginFeatureAttribute : Attribute { } 7 | } 8 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/Tools/Grabacr07.Tools.JsonViewer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/InvalidGuidMetadataTest/DifferentFromIPluginGuid/Diagnostic/results.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Yuubari/KanColleViewer/HEAD/source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/InvalidGuidMetadataTest/DifferentFromIPluginGuid/Diagnostic/results.json -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/KanColleViewer.VisualElementsManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/SimpleStringTranslationItem.cs: -------------------------------------------------------------------------------- 1 | namespace Grabacr07.KanColleWrapper.Models.Translations 2 | { 3 | // ReSharper disable InconsistentNaming 4 | public class SimpleStringTranslationItem 5 | { 6 | public string name_ja { get; set; } 7 | public string name { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /source/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*.{cs,xaml}] 4 | indent_style = tab 5 | indent_size = 4 6 | charset = utf-8 7 | end_of_line = crlf 8 | insert_final_newline = true 9 | 10 | [*.nuspec] 11 | indent_style = space 12 | indent_size = 2 13 | charset = utf-8 14 | end_of_line = crlf 15 | insert_final_newline = true 16 | -------------------------------------------------------------------------------- /source/Plugins/AudibleNotifications/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/TranslationProviderType.cs: -------------------------------------------------------------------------------- 1 | namespace Grabacr07.KanColleWrapper.Models.Translations 2 | { 3 | public enum TranslationProviderType 4 | { 5 | App = 0, 6 | Ships = 1, 7 | ShipTypes = 2, 8 | Equipment = 3, 9 | Quests = 4, 10 | Operations = 5, 11 | Expeditions = 6, 12 | } 13 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/ILocalizable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | public interface ILocalizable 9 | { 10 | void ChangeCulture(string cultureName); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Information.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class Information 9 | { 10 | public Information() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/SimpleIdTranslationItem.cs: -------------------------------------------------------------------------------- 1 | namespace Grabacr07.KanColleWrapper.Models.Translations 2 | { 3 | // ReSharper disable InconsistentNaming 4 | public class SimpleIdTranslationItem 5 | { 6 | public int id { get; set; } 7 | public string name { get; set; } 8 | public string name_ja { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/ViewModels/PortalViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Livet; 7 | 8 | namespace Grabacr07.KanColleViewer.Plugins.ViewModels 9 | { 10 | public class PortalViewModel : ViewModel 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/ExitDialog.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class ExitDialog 9 | { 10 | public ExitDialog() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Browser.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Browser 9 | { 10 | public Browser() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Network.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Network 9 | { 10 | public Network() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Others.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Others 9 | { 10 | public Others() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Plugins.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Plugins 9 | { 10 | public Plugins() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/StartContent.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class StartContent 9 | { 10 | public StartContent() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Operation.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Operation 9 | { 10 | public Operation() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Settings.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Settings 9 | { 10 | public Settings() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/BrowserNavigator.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class BrowserNavigator 9 | { 10 | public BrowserNavigator() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/PluginInfo.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class PluginInfo 9 | { 10 | public PluginInfo() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/IIdentifiable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | /// 9 | /// 要素を一意に識別できるようにします。 10 | /// 11 | public interface IIdentifiable 12 | { 13 | int Id { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Settings/CultureViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.ViewModels.Settings 7 | { 8 | public class CultureViewModel 9 | { 10 | public string DisplayName { get; set; } 11 | public string Name { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Notification.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class Notification 9 | { 10 | public Notification() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/VersionInfo.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class VersionInfo 9 | { 10 | public VersionInfo() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/BaseTranslationSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.Serialization; 3 | 4 | namespace Grabacr07.KanColleWrapper.Models.Translations 5 | { 6 | // ReSharper disable InconsistentNaming 7 | [DataContract] 8 | [Serializable] 9 | public class BaseTranslationSet 10 | { 11 | [DataMember] public string version { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/Const.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleViewer.PluginAnalyzer.Test 8 | { 9 | static class Const 10 | { 11 | public const string NewGuidValueForTest = "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/KanColleWindowButtons.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class KanColleWindowButtons 9 | { 10 | public KanColleWindowButtons() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_ship_deck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Grabacr07.KanColleWrapper.Models.Raw 5 | { 6 | // ReSharper disable InconsistentNaming 7 | 8 | public class kcsapi_ship_deck 9 | { 10 | public kcsapi_ship2[] api_ship_data { get; set; } 11 | public kcsapi_deck[] api_deck_data { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/ProxyBootstrapperWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class ProxyBootstrapper 9 | { 10 | public ProxyBootstrapper() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Internal/Definitions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Internal 7 | { 8 | internal static class Definitions 9 | { 10 | public static readonly DateTimeOffset UnixEpoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/IPluginGuid.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | public interface IPluginGuid 9 | { 10 | /// 11 | /// プラグインを表す GUID を取得します。 12 | /// 13 | string Guid { get; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/StateDetailIndicator.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Contents 7 | { 8 | partial class StateDetailIndicator 9 | { 10 | public StateDetailIndicator() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/PluginSettingsWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Settings 7 | { 8 | partial class PluginSettingsWindow 9 | { 10 | public PluginSettingsWindow() 11 | { 12 | this.InitializeComponent(); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Win32/RECT.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace Grabacr07.KanColleViewer.Win32 7 | { 8 | [StructLayout(LayoutKind.Sequential)] 9 | internal class RECT 10 | { 11 | public int left; 12 | public int top; 13 | public int width; 14 | public int height; 15 | } 16 | } -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/ExpeditionState.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace Grabacr07.KanColleViewer.Plugins 3 | { 4 | public enum ExpeditionState 5 | { 6 | /// 7 | /// 母港で待機中。 8 | /// 9 | Waiting, 10 | 11 | /// 12 | /// 遠征遂行中。 13 | /// 14 | InExecution, 15 | 16 | /// 17 | /// 帰投済み。 18 | /// 19 | Returned, 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_createship.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_createship 11 | { 12 | } 13 | // ReSharper restore InconsistentNaming 14 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Updater/kcvapi_ships.cs: -------------------------------------------------------------------------------- 1 | namespace Grabacr07.KanColleWrapper.Models.Updater 2 | { 3 | // ReSharper disable InconsistentNaming 4 | public class kcvapi_ships 5 | { 6 | public string version { get; set; } 7 | public kcvapi_ships_ship[] ships; 8 | } 9 | 10 | public class kcvapi_ships_ship 11 | { 12 | public string name_ja { get; set; } 13 | public string name { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_slot_exchange_index.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | // ReSharper disable InconsistentNaming 7 | 8 | namespace Grabacr07.KanColleWrapper.Models.Raw 9 | { 10 | public class kcsapi_slot_exchange_index 11 | { 12 | public int[] api_slot { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/StatusBar.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | /// 9 | /// StatusBar.xaml の相互作用ロジック 10 | /// 11 | partial class StatusBar 12 | { 13 | public StatusBar() 14 | { 15 | this.InitializeComponent(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/Tools/Grabacr07.Tools.JsonViewer/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace Grabacr07.Tools.JsonViewer 10 | { 11 | /// 12 | /// App.xaml の相互作用ロジック 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Composition/LoadFailedPluginData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | public class LoadFailedPluginData 9 | { 10 | public string FilePath { get; set; } 11 | 12 | public string Message { get; set; } 13 | 14 | public PluginMetadata Metadata { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/NullViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Livet; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels 8 | { 9 | public sealed class NullViewModel : ViewModel 10 | { 11 | public static NullViewModel Instance { get; } = new NullViewModel(); 12 | 13 | private NullViewModel() { } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_destroyitem2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_destroyitem2 10 | { 11 | public int[] api_get_material { get; set; } 12 | } 13 | // ReSharper restore InconsistentNaming 14 | } 15 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/KanColleError.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper 8 | { 9 | public class KanColleError 10 | { 11 | public Exception Exception { get; private set; } 12 | 13 | public KanColleError(Exception ex) 14 | { 15 | this.Exception = ex; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/FleetWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class FleetWindow 9 | { 10 | public FleetWindow() 11 | { 12 | this.InitializeComponent(); 13 | 14 | Application.Instance.MainWindow.Closed += (sender, args) => this.Close(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/InformationWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views 7 | { 8 | partial class InformationWindow 9 | { 10 | public InformationWindow() 11 | { 12 | this.InitializeComponent(); 13 | 14 | Application.Instance.MainWindow.Closed += (sender, args) => this.Close(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Win32/NativeMethods.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.InteropServices; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleViewer.Win32 8 | { 9 | internal static class NativeMethods 10 | { 11 | [DllImport("Avrt.dll")] 12 | public static extern IntPtr AvSetMmThreadCharacteristics(string taskName, ref uint taskIndex); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_destroyship.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_destroyship 11 | { 12 | public int[] api_material { get; set; } 13 | } 14 | // ReSharper restore InconsistentNaming 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_hensei_combined.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_hensei_combined 11 | { 12 | public int api_combined { get; set; } 13 | } 14 | // ReSharper restore InconsistentNaming 15 | } 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/ShipTranslationSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Runtime.Serialization; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Translations 6 | { 7 | // ReSharper disable InconsistentNaming 8 | [DataContract] 9 | [Serializable] 10 | public class ShipTranslationSet : BaseTranslationSet 11 | { 12 | [DataMember] public List ships { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Updater/UpdateAvailableEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Permissions; 3 | using Grabacr07.KanColleWrapper.Models.Translations; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Updater 6 | { 7 | public class UpdateAvailableEventArgs 8 | { 9 | public string Version { get; } 10 | 11 | public UpdateAvailableEventArgs(string version) 12 | { 13 | this.Version = version; 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/ExpeditionReturnedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public class ExpeditionReturnedEventArgs 9 | { 10 | public string FleetName { get; } 11 | 12 | internal ExpeditionReturnedEventArgs(string fleetName) 13 | { 14 | this.FleetName = fleetName; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/ShipTypeTranslationSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Runtime.Serialization; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Translations 6 | { 7 | // ReSharper disable InconsistentNaming 8 | [DataContract] 9 | [Serializable] 10 | public class ShipTypeTranslationSet : BaseTranslationSet 11 | { 12 | [DataMember] public List shiptypes { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/EquipmentTranslationSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Runtime.Serialization; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Translations 6 | { 7 | // ReSharper disable InconsistentNaming 8 | [DataContract] 9 | [Serializable] 10 | public class EquipmentTranslationSet : BaseTranslationSet 11 | { 12 | [DataMember] public List equipment { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/INotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// 通知機能を公開します。 10 | /// このインターフェイスは、KanColleViewer プラグインのコントラクト型です。 11 | /// 12 | [PluginFeature] 13 | public interface INotifier 14 | { 15 | void Notify(INotification notification); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Shipyard.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Controls; 6 | 7 | namespace Grabacr07.KanColleViewer.Views.Contents 8 | { 9 | /// 10 | /// Shipyard.xaml の相互作用ロジック 11 | /// 12 | public partial class Shipyard : UserControl 13 | { 14 | public Shipyard() 15 | { 16 | InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/IPlugin.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// KanColleViewer プラグインを表します。プラグインは、必ずこのコントラクト型をエクスポートしてください。 10 | /// 11 | public interface IPlugin 12 | { 13 | /// 14 | /// プラグインの初期化処理を実行します。 15 | /// 16 | void Initialize(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Styles/Colors.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 7 | 9 | 10 | 12 | 13 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Composition/PluginMetadata.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | [Serializable] 9 | public class PluginMetadata 10 | { 11 | public string Title { get; set; } 12 | 13 | public string Description { get; set; } 14 | 15 | public string Version { get; set; } 16 | 17 | public string Author { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/ShipSituation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | [Flags] 9 | public enum ShipSituation 10 | { 11 | None = 0, 12 | //Sortie = 1, 13 | Repair = 1 << 1, 14 | Evacuation = 1 << 2, 15 | Tow = 1 << 3, 16 | //ModerateDamaged = 1 << 4, 17 | HeavilyDamaged = 1 << 5, 18 | DamageControlled = 1 << 6, 19 | } 20 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Expeditions.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Controls; 6 | 7 | namespace Grabacr07.KanColleViewer.Views.Contents 8 | { 9 | /// 10 | /// Expeditions.xaml の相互作用ロジック 11 | /// 12 | public partial class Expeditions : UserControl 13 | { 14 | public Expeditions() 15 | { 16 | InitializeComponent(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_material.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_material 10 | { 11 | public int api_member_id { get; set; } 12 | public int api_id { get; set; } 13 | public int api_value { get; set; } 14 | } 15 | // ReSharper restore InconsistentNaming 16 | } 17 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mst_maparea.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | 10 | public class kcsapi_mst_maparea 11 | { 12 | public int api_id { get; set; } 13 | public string api_name { get; set; } 14 | public int api_type { get; set; } 15 | } 16 | 17 | // ReSharper restore InconsistentNaming 18 | } 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mst_slotitem_equiptype.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_mst_slotitem_equiptype 10 | { 11 | public int api_id { get; set; } 12 | public string api_name { get; set; } 13 | public int api_show_flg { get; set; } 14 | } 15 | // ReSharper restore InconsistentNaming 16 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Dev/DebugTabViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleViewer.Composition; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels.Dev 8 | { 9 | public class DebugTabViewModel : TabItemViewModel 10 | { 11 | public override string Name 12 | { 13 | get { return Properties.Resources.Debug; } 14 | protected set { throw new NotImplementedException(); } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/IZoomFactor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleViewer.Models 8 | { 9 | public interface IZoomFactor 10 | { 11 | double Current { get; set; } 12 | double[] SupportedValues { get; } 13 | 14 | int CurrentParcentage { get; } 15 | 16 | bool CanZoomUp { get; } 17 | bool CanZoomDown { get; } 18 | 19 | void ZoomUp(); 20 | void ZoomDown(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/QuestState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public enum QuestState 9 | { 10 | /// 11 | /// 任務を遂行していません。 12 | /// 13 | None = 1, 14 | 15 | /// 16 | /// 任務を遂行中です。 17 | /// 18 | TakeOn = 2, 19 | 20 | /// 21 | /// 任務が完了しました。 22 | /// 23 | Accomplished = 3, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_slotitem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | // ReSharper disable InconsistentNaming 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | public class kcsapi_slotitem 10 | { 11 | public int api_id { get; set; } 12 | public int api_slotitem_id { get; set; } 13 | public int api_level { get; set; } 14 | public int api_locked { get; set; } 15 | public int api_alv { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/QuestProgress.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public enum QuestProgress 9 | { 10 | /// 11 | /// 進捗ダメです。 12 | /// 13 | None = 0, 14 | 15 | /// 16 | /// 50 % 以上達成。 17 | /// 18 | Progress50 = 1, 19 | 20 | /// 21 | /// 80 % 以上達成。 22 | /// 23 | Progress80 = 2, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Plugins/WindowsNotifier/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("提督業も忙しい! Windows 通知プラグイン")] 5 | [assembly: AssemblyDescription("提督業も忙しい! Windows 通知プラグイン")] 6 | [assembly: AssemblyCompany("grabacr.net")] 7 | [assembly: AssemblyProduct("KanColleViewer")] 8 | [assembly: AssemblyCopyright("Copyright © 2013 Grabacr07")] 9 | 10 | [assembly: ComVisible(false)] 11 | [assembly: Guid("16253877-0DA9-4BB1-97A0-2115110DD8E8")] 12 | 13 | [assembly: AssemblyVersion("2.0.0")] 14 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Behaviors/FocusAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | using System.Windows.Interactivity; 7 | 8 | namespace Grabacr07.KanColleViewer.Views.Behaviors 9 | { 10 | public class FocusAction : TriggerAction 11 | { 12 | protected override void Invoke(object parameter) 13 | { 14 | if (this.AssociatedObject.Focusable) 15 | { 16 | this.AssociatedObject.Focus(); 17 | } 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_powerup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_powerup 11 | { 12 | public int api_powerup_flag { get; set; } 13 | 14 | public kcsapi_ship2 api_ship { get; set; } 15 | 16 | public kcsapi_deck[] api_deck { get; set; } 17 | } 18 | // ReSharper restore InconsistentNaming 19 | } 20 | -------------------------------------------------------------------------------- /source/Plugins/AudibleNotifications/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/Fleets/QuickStateViewViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | using Livet; 7 | 8 | namespace Grabacr07.KanColleViewer.ViewModels.Contents.Fleets 9 | { 10 | public abstract class QuickStateViewViewModel : ViewModel 11 | { 12 | public FleetState State { get; } 13 | 14 | protected QuickStateViewViewModel(FleetState state) 15 | { 16 | this.State = state; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/Fleets/SortieViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels.Contents.Fleets 8 | { 9 | public class SortieViewModel : QuickStateViewViewModel 10 | { 11 | // QuickStateView は ContentControl に対し型ごとの DataTemplate を適用する形で実現するので 12 | // 状況に応じた型がそれぞれ必要。これはその 1 つ。 13 | 14 | public SortieViewModel(FleetState state) : base(state) { } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | #* text eol=crlf 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Styles/Controls.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/svdata.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Raw 6 | { 7 | // ReSharper disable InconsistentNaming 8 | public class svdata 9 | { 10 | public int api_result { get; set; } 11 | public string api_result_msg { get; set; } 12 | } 13 | 14 | public class svdata : svdata 15 | { 16 | public T api_data { get; set; } 17 | public kcsapi_deck[] api_data_deck { get; set; } 18 | } 19 | // ReSharper restore InconsistentNaming 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/ConditionRejuvenatedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public class ConditionRejuvenatedEventArgs : EventArgs 9 | { 10 | public string FleetName { get; } 11 | 12 | public int MinCondition { get; } 13 | 14 | public ConditionRejuvenatedEventArgs(string fleetName, int minCondtion) 15 | { 16 | this.FleetName = fleetName; 17 | this.MinCondition = minCondtion; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Win32/DVTARGETDEVICE.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace Grabacr07.KanColleViewer.Win32 7 | { 8 | [StructLayout(LayoutKind.Sequential)] 9 | // ReSharper disable once InconsistentNaming 10 | internal class DVTARGETDEVICE 11 | { 12 | public ushort tdSize; 13 | public uint tdDeviceNameOffset; 14 | public ushort tdDriverNameOffset; 15 | public ushort tdExtDevmodeOffset; 16 | public ushort tdPortNameOffset; 17 | public byte tdData; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/ProxyType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper 7 | { 8 | /// 9 | /// プロキシ設定の種類を表します。 10 | /// 11 | public enum ProxyType 12 | { 13 | /// 14 | /// プロキシを使用せず、直接サーバーに接続します。 15 | /// 16 | DirectAccess, 17 | 18 | /// 19 | /// システムのプロキシ設定を使用します。 20 | /// 21 | SystemProxy, 22 | 23 | /// 24 | /// 指定のプロキシ設定を使用します。 25 | /// 26 | SpecificProxy, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/INavigator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Models 7 | { 8 | public interface INavigator 9 | { 10 | Uri Source { get; set; } 11 | bool IsNavigating { get; set; } 12 | bool CanGoBack { get; set; } 13 | bool CanGoForward { get; set; } 14 | 15 | event EventHandler GoBackRequested; 16 | event EventHandler GoForwardRequested; 17 | event EventHandler RefreshRequested; 18 | event EventHandler UriRequested; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Catalogs/ShipCatalogWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Catalogs 7 | { 8 | /// 9 | /// 艦娘一覧ウィンドウを表します。 10 | /// 11 | partial class ShipCatalogWindow 12 | { 13 | public ShipCatalogWindow() 14 | { 15 | this.InitializeComponent(); 16 | 17 | Application.Instance.MainWindow.Closed += (sender, args) => this.Close(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Win32/IServiceProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace Grabacr07.KanColleViewer.Win32 7 | { 8 | [ComImport, Guid("6d5140c1-7436-11ce-8034-00aa006009fa"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComVisible(false)] 9 | internal interface IServiceProvider 10 | { 11 | [return: MarshalAs(UnmanagedType.I4)] 12 | [PreserveSig] 13 | int QueryService(ref Guid guidService, ref Guid riid, [MarshalAs(UnmanagedType.Interface)] out object ppvObject); 14 | } 15 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_ship3.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_ship3 11 | { 12 | public kcsapi_ship2[] api_ship_data { get; set; } 13 | public kcsapi_deck[] api_deck_data { get; set; } 14 | 15 | // 今のところ必要ないので 16 | //public kcsapi_slot_data api_slot_data { get; set; } 17 | } 18 | // ReSharper restore InconsistentNaming 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/IRequestNotify.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// プラグイン側から本体に通知を要求するためのメンバーを公開します。 10 | /// このインターフェイスは、KanColleViewer プラグインのコントラクト型です。 11 | /// 12 | [PluginFeature] 13 | public interface IRequestNotify 14 | { 15 | /// 16 | /// このプラグインが、本体に通知を要求したときに発生します。 17 | /// 18 | event EventHandler NotifyRequested; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Behaviors/ZoomAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleViewer.Views.Controls; 7 | using Livet.Behaviors.Messaging; 8 | using Livet.Messaging; 9 | 10 | namespace Grabacr07.KanColleViewer.Views.Behaviors 11 | { 12 | public class ZoomAction : InteractionMessageAction 13 | { 14 | protected override void InvokeAction(InteractionMessage message) 15 | { 16 | this.AssociatedObject.Update(); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Catalogs/SlotItemCatalogWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Catalogs 7 | { 8 | /// 9 | /// 装備一覧ウィンドウを表します。 10 | /// 11 | partial class SlotItemCatalogWindow 12 | { 13 | public SlotItemCatalogWindow() 14 | { 15 | this.InitializeComponent(); 16 | 17 | Application.Instance.MainWindow.Closed += (sender, args) => this.Close(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Fleets.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | 8 | namespace Grabacr07.KanColleViewer.Views.Contents 9 | { 10 | /// 11 | /// Fleets.xaml の相互作用ロジック 12 | /// 13 | public partial class Fleets : UserControl 14 | { 15 | public Fleets() 16 | { 17 | InitializeComponent(); 18 | } 19 | 20 | private void Button_Click(object sender, RoutedEventArgs e) 21 | { 22 | 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mst_stype.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_mst_stype 11 | { 12 | public int api_id { get; set; } 13 | public int api_sortno { get; set; } 14 | public string api_name { get; set; } 15 | public int api_scnt { get; set; } 16 | public int api_kcnt { get; set; } 17 | } 18 | // ReSharper restore InconsistentNaming 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/ExitConfirmationType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Models 7 | { 8 | /// 9 | /// アプリケーションを終了するときの確認動作を示す識別子を定義します。 10 | /// 11 | public enum ExitConfirmationType 12 | { 13 | /// 14 | /// 終了は確認されません。 15 | /// 16 | None, 17 | 18 | /// 19 | /// 出撃中の場合のみ、終了を確認します。 20 | /// 21 | InSortieOnly, 22 | 23 | /// 24 | /// 常に終了を確認します。 25 | /// 26 | Always, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Composition/ToolViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleViewer.Composition; 6 | using Livet; 7 | 8 | namespace Grabacr07.KanColleViewer.ViewModels.Composition 9 | { 10 | public class ToolViewModel : ViewModel 11 | { 12 | private readonly ITool tool; 13 | 14 | public string Name => this.tool.Name; 15 | 16 | public object View => this.tool.View; 17 | 18 | public ToolViewModel(ITool tool) 19 | { 20 | this.tool = tool; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("KanColleWrapper")] 5 | [assembly: AssemblyCompany("grabacr.net")] 6 | [assembly: AssemblyProduct("KanColleWrapper")] 7 | [assembly: AssemblyDescription("KanColle connection proxy and data wrapper.")] 8 | [assembly: AssemblyCopyright("Copyright © 2015 Grabacr07")] 9 | 10 | [assembly: ComVisible(false)] 11 | [assembly: Guid("8A13AB28-4E9F-423D-80AD-23EEF2821959")] 12 | 13 | [assembly: AssemblyVersion("1.7.0")] 14 | [assembly: AssemblyInformationalVersion("1.7.0")] 15 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mst_mapcell.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_mst_mapcell 10 | { 11 | public int api_map_no { get; set; } 12 | public int api_maparea_id { get; set; } 13 | public int api_mapinfo_no { get; set; } 14 | public int api_id { get; set; } 15 | public int api_no { get; set; } 16 | public int api_color_no { get; set; } 17 | } 18 | // ReSharper restore InconsistentNaming 19 | } 20 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/InvalidGuidMetadataTest/DifferentFromIPluginGuid/Source/Tool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel.Composition; 3 | using Grabacr07.KanColleViewer.Composition; 4 | 5 | namespace DifferentFromIPluginGuid 6 | { 7 | [Export(typeof(ITool))] 8 | [ExportMetadata("Guid", "invalid")] 9 | class Tool : ITool 10 | { 11 | public string Name 12 | { 13 | get 14 | { 15 | throw new NotImplementedException(); 16 | } 17 | } 18 | 19 | public object View 20 | { 21 | get 22 | { 23 | throw new NotImplementedException(); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_kdock_getship.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_kdock_getship 10 | { 11 | public int api_id { get; set; } 12 | public int api_ship_id { get; set; } 13 | public kcsapi_kdock[] api_kdock { get; set; } 14 | public kcsapi_ship2 api_ship { get; set; } 15 | public kcsapi_slotitem[] api_slotitem { get; set; } 16 | } 17 | // ReSharper restore InconsistentNaming 18 | } 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Updater/kcvapi_version.cs: -------------------------------------------------------------------------------- 1 | namespace Grabacr07.KanColleWrapper.Models.Updater 2 | { 3 | // ReSharper disable InconsistentNaming 4 | public class kcvapi_version 5 | { 6 | public string api_version { get; set; } 7 | public string api_url { get; set; } 8 | public string selected_culture { get; set; } 9 | public kcvapi_version_component[] components { get; set; } 10 | } 11 | 12 | public class kcvapi_version_component 13 | { 14 | public string type { get; set; } 15 | public string version { get; set; } 16 | public string url { get; set; } 17 | public string installer { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/RepairingDockState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | /// 9 | /// 入渠ドックの状態を示す識別子を定義します。 10 | /// 11 | public enum RepairingDockState 12 | { 13 | /// 14 | /// ドックは未開放です。 15 | /// 16 | Locked = -1, 17 | 18 | /// 19 | /// ドックを使用可能です。 20 | /// 21 | Unlocked = 0, 22 | 23 | /// 24 | /// 艦娘の修理中です。 25 | /// 26 | Repairing = 1, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/DialogViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using MetroTrilithon.Mvvm; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels 8 | { 9 | public class DialogViewModel : WindowViewModel 10 | { 11 | public DialogViewModel() 12 | { 13 | this.DialogResult = false; 14 | } 15 | 16 | public void OK() 17 | { 18 | this.DialogResult = true; 19 | this.Close(); 20 | } 21 | 22 | public void Cancel() 23 | { 24 | this.DialogResult = false; 25 | this.Close(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_questlist.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_questlist 11 | { 12 | public int api_count { get; set; } 13 | public int api_page_count { get; set; } 14 | public int api_disp_page { get; set; } 15 | public kcsapi_quest[] api_list { get; set; } 16 | public int api_exec_count { get; set; } 17 | } 18 | // ReSharper restore InconsistentNaming 19 | } 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | [assembly: AssemblyTitle("KanColleViewer.Composition")] 5 | [assembly: AssemblyCompany("grabacr.net")] 6 | [assembly: AssemblyProduct("KanColleViewer.Composition")] 7 | [assembly: AssemblyDescription("Interfaces for KanColleViewer plugins.")] 8 | [assembly: AssemblyCopyright("Copyright © 2015 Grabacr07")] 9 | 10 | [assembly: ComVisible(false)] 11 | [assembly: Guid("12295FF1-4260-44E2-8B6A-51BC7F79FFCF")] 12 | 13 | [assembly: AssemblyVersion("1.4.0")] 14 | [assembly: AssemblyInformationalVersion("1.4.0")] 15 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/Views/Settings.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /source/Plugins/WindowsNotifier/ToastNotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Grabacr07.KanColleViewer.Plugins 4 | { 5 | internal class ToastNotifier : NotifierBase 6 | { 7 | public override bool IsSupported => Toast.IsSupported; 8 | 9 | protected override void InitializeCore() {} 10 | 11 | protected override void NotifyCore(string header, string body, Action activated, Action failed) 12 | { 13 | var toast = new Toast(header, body); 14 | toast.Activated += activated; 15 | if (failed != null) toast.ToastFailed += () => failed(new Exception("Toast failed.")); 16 | 17 | toast.Show(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 20000 7 | 8 | 9 | False 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/InvalidGuidMetadataTest/DifferentFromIPluginGuid/Expected/Tool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel.Composition; 3 | using Grabacr07.KanColleViewer.Composition; 4 | 5 | namespace DifferentFromIPluginGuid 6 | { 7 | [Export(typeof(ITool))] 8 | [ExportMetadata("Guid", "45BF5FE6-7D81-4978-8B8A-84FD80BBEC10")] 9 | class Tool : ITool 10 | { 11 | public string Name 12 | { 13 | get 14 | { 15 | throw new NotImplementedException(); 16 | } 17 | } 18 | 19 | public object View 20 | { 21 | get 22 | { 23 | throw new NotImplementedException(); 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/ProcessUnknownEventArgs.cs: -------------------------------------------------------------------------------- 1 | namespace Grabacr07.KanColleWrapper.Models.Translations 2 | { 3 | public class ProcessUnknownEventArgs 4 | { 5 | public object RawData { get; set; } 6 | public string Culture { get; set; } 7 | public TranslationProviderType TranslationProvider { get; set; } 8 | public bool AlreadySubmitted { get; set; } 9 | 10 | public ProcessUnknownEventArgs(TranslationProviderType translationProviderType, string culture, object rawdata) 11 | { 12 | Culture = culture; 13 | TranslationProvider = translationProviderType; 14 | RawData = rawdata; 15 | AlreadySubmitted = false; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/IProxySettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper 7 | { 8 | public interface IProxySettings 9 | { 10 | ProxyType Type { get; } 11 | 12 | string HttpHost { get; } 13 | 14 | ushort HttpPort { get; } 15 | 16 | string HttpsHost { get; } 17 | 18 | ushort HttpsPort { get; } 19 | 20 | string FtpHost { get; } 21 | 22 | ushort FtpPort { get; } 23 | 24 | string SocksHost { get; } 25 | 26 | ushort SocksPort { get; } 27 | 28 | bool IsUseHttpProxyForAllProtocols { get; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mst_useitem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_mst_useitem 11 | { 12 | public int api_id { get; set; } 13 | public int api_usetype { get; set; } 14 | public int api_category { get; set; } 15 | public string api_name { get; set; } 16 | public string[] api_description { get; set; } 17 | public int api_price { get; set; } 18 | } 19 | // ReSharper restore InconsistentNaming 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_require_info.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | // ReSharper disable InconsistentNaming 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | public class kcsapi_require_info 10 | { 11 | public kcsapi_basic api_basic { get; set; } 12 | public kcsapi_slotitem[] api_slot_item { get; set; } 13 | //public Api_Unsetslot api_unsetslot { get; set; } 14 | public kcsapi_kdock[] api_kdock { get; set; } 15 | public kcsapi_useitem[] api_useitem { get; set; } 16 | //public Api_Furniture[] api_furniture { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/ITool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// [ツール] タブに表示されるツールに必要なメンバーを公開します。 10 | /// このインターフェイスは、KanColleViewer プラグインのコントラクト型です。 11 | /// 12 | [PluginFeature] 13 | public interface ITool 14 | { 15 | /// 16 | /// [ツール] タブのツール一覧に表示される名前を取得します。 17 | /// 18 | string Name { get; } 19 | 20 | /// 21 | /// [ツール] タブ内に表示される UI のルート要素を取得します。 22 | /// 23 | object View { get; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/SupportedImageFormat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Models 7 | { 8 | /// 9 | /// サポートされているイメージのファイル形式。 10 | /// 11 | public enum SupportedImageFormat 12 | { 13 | /// 14 | /// 未指定です。 15 | /// 16 | None, 17 | 18 | /// 19 | /// W3C PNG (Portable Network Graphics) イメージ形式。 20 | /// 21 | Png, 22 | 23 | /// 24 | /// JPEG (Joint Photographic Experts Group) イメージ形式。 25 | /// 26 | Jpeg, 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/BuildingCompletedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public class BuildingCompletedEventArgs 9 | { 10 | /// 11 | /// 建造が完了したドックを一意に識別する ID を取得します。 12 | /// 13 | public int DockId { get; } 14 | 15 | /// 16 | /// 建造された艦娘の種類を取得します。 17 | /// 18 | public ShipInfo Ship { get; } 19 | 20 | public BuildingCompletedEventArgs(int id, ShipInfo ship) 21 | { 22 | this.DockId = id; 23 | this.Ship = ship; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Notifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Runtime.CompilerServices; 6 | using System.Threading.Tasks; 7 | 8 | namespace Grabacr07.KanColleWrapper 9 | { 10 | /// 11 | /// プロパティ変更通知をサポートします。 12 | /// 13 | public class Notifier : INotifyPropertyChanged 14 | { 15 | public event PropertyChangedEventHandler PropertyChanged; 16 | 17 | protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null) 18 | { 19 | this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/ISettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// プラグインの設定画面を呼び出すためのメンバーを公開します。 10 | /// このインターフェイスは、KanColleViewer プラグインのコントラクト型です。 11 | /// 12 | /// 13 | /// この型をコントラクトとしてエクスポートするとき、1 つの GUID につき 1 つまでしか使用されないことに注意してください。 14 | /// 15 | [PluginFeature] 16 | public interface ISettings 17 | { 18 | /// 19 | /// [設定] タブ内に表示されるプラグイン設定 UI のルート要素を取得します。 20 | /// 21 | object View { get; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/ItemViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Livet; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels 8 | { 9 | public class ItemViewModel : ViewModel 10 | { 11 | #region IsSelected 変更通知プロパティ 12 | 13 | private bool _IsSelected; 14 | 15 | public virtual bool IsSelected 16 | { 17 | get { return this._IsSelected; } 18 | set 19 | { 20 | if (this._IsSelected != value) 21 | { 22 | this._IsSelected = value; 23 | this.RaisePropertyChanged(); 24 | } 25 | } 26 | } 27 | 28 | #endregion 29 | } 30 | } -------------------------------------------------------------------------------- /source/Plugins/Counter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using System.Windows; 4 | 5 | [assembly: AssemblyTitle("提督業も忙しい! カウンター プラグイン")] 6 | [assembly: AssemblyDescription("提督業も忙しい! カウンター プラグイン")] 7 | [assembly: AssemblyCompany("grabacr.net")] 8 | [assembly: AssemblyProduct("KanColleViewer")] 9 | [assembly: AssemblyCopyright("Copyright © 2014 Grabacr07")] 10 | 11 | [assembly: ComVisible(false)] 12 | [assembly: Guid("DC818924-FEFB-4C99-B6DE-337D06D2F094")] 13 | 14 | [assembly: ThemeInfo( 15 | ResourceDictionaryLocation.None, 16 | ResourceDictionaryLocation.SourceAssembly)] 17 | 18 | [assembly: AssemblyVersion("1.2.0")] 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Internal/Extensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Nekoxy; 6 | 7 | namespace Grabacr07.KanColleWrapper.Internal 8 | { 9 | internal static class Extensions 10 | { 11 | public static string GetResponseAsJson(this Session session) 12 | { 13 | return session.Response.BodyAsString.Replace("svdata=", ""); 14 | } 15 | 16 | /// 17 | /// 型の配列に安全にアクセスします。 18 | /// 19 | public static int? Get(this int[] array, int index) 20 | { 21 | return array?.Length > index ? (int?)array[index] : null; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/RepairingCompletedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public class RepairingCompletedEventArgs 9 | { 10 | /// 11 | /// 入渠が完了したドックを一意に識別する ID を取得します。 12 | /// 13 | public int DockId { get; private set; } 14 | 15 | /// 16 | /// 入渠が完了した艦娘を取得します。 17 | /// 18 | public Ship Ship { get; private set; } 19 | 20 | public RepairingCompletedEventArgs(int id, Ship ship) 21 | { 22 | this.DockId = id; 23 | this.Ship = ship; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/NotifyEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Grabacr07.KanColleViewer.Composition 6 | { 7 | public class NotifyEventArgs : EventArgs, INotification 8 | { 9 | public string Type { get; } 10 | 11 | public string Header { get; } 12 | 13 | public string Body { get; } 14 | 15 | public Action Activated { get; set; } 16 | 17 | public Action Failed { get; set; } 18 | 19 | public NotifyEventArgs(string type, string header, string body) 20 | { 21 | this.Type = type; 22 | this.Header = header; 23 | this.Body = body; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Homeport.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Contents 17 | { 18 | public partial class Homeport 19 | { 20 | public Homeport() 21 | { 22 | InitializeComponent(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_remodel_slotlist_detail.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | // ReSharper disable InconsistentNaming 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | public class kcsapi_remodel_slotlist_detail 10 | { 11 | public int api_req_buildkit { get; set; } 12 | public int api_req_remodelkit { get; set; } 13 | public int api_certain_buildkit { get; set; } 14 | public int api_certain_remodelkit { get; set; } 15 | public int api_req_slot_id { get; set; } 16 | public int api_req_slot_num { get; set; } 17 | public int api_change_flag { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_deck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_deck 11 | { 12 | public int api_member_id { get; set; } 13 | public int api_id { get; set; } 14 | public string api_name { get; set; } 15 | public string api_name_id { get; set; } 16 | public long[] api_mission { get; set; } 17 | public string api_flagship { get; set; } 18 | public int[] api_ship { get; set; } 19 | } 20 | // ReSharper restore InconsistentNaming 21 | } 22 | -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using System.Windows; 4 | 5 | [assembly: AssemblyTitle("提督業も忙しい! タスク バー インジケーター プラグイン")] 6 | [assembly: AssemblyDescription("提督業も忙しい! タスク バー インジケーター プラグイン")] 7 | [assembly: AssemblyCompany("grabacr.net")] 8 | [assembly: AssemblyProduct("KanColleViewer")] 9 | [assembly: AssemblyCopyright("Copyright © 2016 Grabacr07")] 10 | 11 | [assembly: ComVisible(false)] 12 | [assembly: Guid("F6C12535-C1AA-49B1-B924-4098D838CBE6")] 13 | 14 | [assembly: ThemeInfo( 15 | ResourceDictionaryLocation.None, 16 | ResourceDictionaryLocation.SourceAssembly)] 17 | 18 | [assembly: AssemblyVersion("1.2.0")] 19 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Translations/QuestTranslationSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Runtime.Serialization; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Translations 6 | { 7 | // ReSharper disable InconsistentNaming 8 | [DataContract] 9 | [Serializable] 10 | public class QuestTranslationSet : BaseTranslationSet 11 | { 12 | [DataMember] public List quests { get; set; } 13 | } 14 | 15 | public class QuestTranslationItem 16 | { 17 | public int id { get; set; } 18 | public string title { get; set; } 19 | public string title_ja { get; set; } 20 | public string description { get; set; } 21 | public string description_ja { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /source/Plugins/Counter/CounterViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Livet; 7 | 8 | namespace Counter 9 | { 10 | public class CounterViewModel : ViewModel 11 | { 12 | #region Counters 変更通知プロパティ 13 | 14 | private ObservableCollection _Counters; 15 | 16 | public ObservableCollection Counters 17 | { 18 | get { return this._Counters; } 19 | set 20 | { 21 | if (this._Counters != value) 22 | { 23 | this._Counters = value; 24 | this.RaisePropertyChanged(); 25 | } 26 | } 27 | } 28 | 29 | #endregion 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/Plugins/Logger/Views/LoggerView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Logger.Views 17 | { 18 | /// 19 | /// LoggerView.xaml の相互作用ロジック 20 | /// 21 | public partial class LoggerView : UserControl 22 | { 23 | public LoggerView() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/BUildingDockState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | /// 9 | /// 工廠の状態を示す識別子を定義します。 10 | /// 11 | public enum BuildingDockState 12 | { 13 | /// 14 | /// ドックは未開放です。 15 | /// 16 | Locked = -1, 17 | 18 | /// 19 | /// ドックを使用可能です。 20 | /// 21 | Unlocked = 0, 22 | 23 | /// 24 | /// 新しい艦娘の建造中です。 25 | /// 26 | Building = 2, 27 | 28 | /// 29 | /// 新しい艦娘の建造が完了しています。 30 | /// 31 | Completed = 3, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Plugins/WindowsNotifier/WindowsNotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.Composition; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleViewer.Composition; 7 | 8 | namespace Grabacr07.KanColleViewer.Plugins 9 | { 10 | [Export(typeof(IPlugin))] 11 | [ExportMetadata("Guid", "6EDE38C8-412D-4A73-8FE3-A9D20EB9F0D2")] 12 | [ExportMetadata("Title", "WindowsNotifier")] 13 | [ExportMetadata("Description", "Windows OS の機能 (トースト通知・バルーン通知) を使用して通知します。")] 14 | [ExportMetadata("Version", "2.0")] 15 | [ExportMetadata("Author", "@Grabacr07")] 16 | public class WindowsNotifier : IPlugin 17 | { 18 | public void Initialize() { } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Themes/Generic.KanColleHost.xaml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 16 | 17 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/DisposableNotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using StatefulModel; 6 | 7 | namespace Grabacr07.KanColleWrapper 8 | { 9 | public class DisposableNotifier : Notifier, IDisposable 10 | { 11 | protected MultipleDisposable CompositeDisposable { get; } 12 | 13 | public DisposableNotifier() 14 | { 15 | this.CompositeDisposable = new MultipleDisposable(); 16 | } 17 | 18 | public void Dispose() 19 | { 20 | this.Dispose(true); 21 | this.CompositeDisposable.Dispose(); 22 | 23 | GC.SuppressFinalize(this); 24 | } 25 | 26 | protected virtual void Dispose(bool disposing) { } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Composition/AggregateNotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// 複数の を集約した通知機能を提供します。 10 | /// 11 | public class AggregateNotifier : INotifier 12 | { 13 | private readonly INotifier[] notifiers; 14 | 15 | public AggregateNotifier(IEnumerable notifiers) 16 | { 17 | this.notifiers = notifiers.ToArray(); 18 | } 19 | 20 | public void Notify(INotification notify) 21 | { 22 | foreach (var x in this.notifiers) 23 | { 24 | x.Notify(notify); 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Win32/IViewObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.InteropServices; 5 | 6 | namespace Grabacr07.KanColleViewer.Win32 7 | { 8 | [ComImport, Guid("0000010d-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 9 | internal interface IViewObject 10 | { 11 | [PreserveSig] 12 | int Draw( 13 | [In, MarshalAs(UnmanagedType.U4)] int dwDrawAspect, 14 | int lindex, 15 | IntPtr pvAspect, 16 | [In] DVTARGETDEVICE ptd, 17 | IntPtr hdcTargetDev, 18 | IntPtr hdcDraw, 19 | [In] RECT lprcBounds, 20 | [In] RECT lprcWBounds, 21 | IntPtr pfnContinue, 22 | [In] IntPtr dwContinue); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /source/Plugins/Counter/CounterView.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Counter 17 | { 18 | /// 19 | /// CounterView.xaml の相互作用ロジック 20 | /// 21 | public partial class CounterView : UserControl 22 | { 23 | public CounterView() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/TaskbarProgressEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Shell; 3 | 4 | namespace Grabacr07.KanColleViewer.Composition 5 | { 6 | /// 7 | /// イベントのデータを提供します。 8 | /// 9 | public class TaskbarProgressEventArgs : EventArgs 10 | { 11 | public TaskbarItemProgressState ProgressState { get; } 12 | 13 | public double ProgressValue { get; } 14 | 15 | public TaskbarProgressEventArgs() : this(TaskbarItemProgressState.None, .0) { } 16 | 17 | public TaskbarProgressEventArgs(TaskbarItemProgressState state, double value) 18 | { 19 | this.ProgressState = state; 20 | this.ProgressValue = value; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/ExpeditionsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleViewer.ViewModels.Contents.Fleets; 7 | 8 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 9 | { 10 | public class ExpeditionsViewModel : TabItemViewModel 11 | { 12 | public override string Name 13 | { 14 | get { return Properties.Resources.Expedition; } 15 | protected set { throw new NotImplementedException(); } 16 | } 17 | 18 | public FleetsViewModel Fleets { get; } 19 | 20 | public ExpeditionsViewModel(FleetsViewModel fleets) 21 | { 22 | this.Fleets = fleets; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/StatusBarViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Livet; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels 8 | { 9 | public class StatusBarViewModel : ViewModel 10 | { 11 | #region NotificationMessage 変更通知プロパティ 12 | 13 | private string _NotificationMessage; 14 | 15 | public string NotificationMessage 16 | { 17 | get { return this._NotificationMessage; } 18 | set 19 | { 20 | if (this._NotificationMessage != value) 21 | { 22 | this._NotificationMessage = value; 23 | this.RaisePropertyChanged(); 24 | } 25 | } 26 | } 27 | 28 | #endregion 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/FleetSpeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models 6 | { 7 | /// 8 | /// 艦隊の速度を表します。 9 | /// 10 | public class FleetSpeed 11 | { 12 | private readonly ShipSpeed[] speeds; 13 | 14 | /// 15 | /// 最も遅い艦を基準とした艦隊の速度を示す識別子を取得します。 16 | /// 17 | public ShipSpeed? Min => this.speeds.Cast().Min(); 18 | 19 | public ShipSpeed? Max => this.speeds.Cast().Max(); 20 | 21 | public bool IsMixed => this.speeds.Distinct().Count() > 1; 22 | 23 | public FleetSpeed(ShipSpeed[] speeds) 24 | { 25 | this.speeds = speeds; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/InvalidGuidMetadataTest/DifferentFromIPluginGuid/Expected/Plugin.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.Composition; 2 | using Grabacr07.KanColleViewer.Composition; 3 | 4 | namespace DifferentFromIPluginGuid 5 | { 6 | [Export(typeof(IPlugin))] 7 | [ExportMetadata("Guid", "45BF5FE6-7D81-4978-8B8A-84FD80BBEC10")] 8 | [ExportMetadata("Title", "MastarData")] 9 | [ExportMetadata("Description", "start2 で取得される、艦これのマスター データを閲覧するためのビュー機能を提供します。")] 10 | [ExportMetadata("Version", "1.0")] 11 | [ExportMetadata("Author", "@Grabacr07")] 12 | class Hoge : IPlugin 13 | { 14 | public void Initialize() { } 15 | } 16 | 17 | [Export(typeof(IPlugin))] 18 | class Piyo : IPlugin 19 | { 20 | public void Initialize() { } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/InvalidGuidMetadataTest/DifferentFromIPluginGuid/Source/Plugin.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.Composition; 2 | using Grabacr07.KanColleViewer.Composition; 3 | 4 | namespace DifferentFromIPluginGuid 5 | { 6 | [Export(typeof(IPlugin))] 7 | [ExportMetadata("Guid", "45BF5FE6-7D81-4978-8B8A-84FD80BBEC10")] 8 | [ExportMetadata("Title", "MastarData")] 9 | [ExportMetadata("Description", "start2 で取得される、艦これのマスター データを閲覧するためのビュー機能を提供します。")] 10 | [ExportMetadata("Version", "1.0")] 11 | [ExportMetadata("Author", "@Grabacr07")] 12 | class Hoge : IPlugin 13 | { 14 | public void Initialize() { } 15 | } 16 | 17 | [Export(typeof(IPlugin))] 18 | class Piyo : IPlugin 19 | { 20 | public void Initialize() { } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/BrowserWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Controls; 6 | 7 | namespace Grabacr07.KanColleViewer.Views 8 | { 9 | /// 10 | /// Web ブラウザーを表示するためのサブ ウィンドウを表します。 11 | /// 12 | partial class BrowserWindow 13 | { 14 | /// 15 | /// このウィンドウにホストされている オブジェクトを取得します。 16 | /// 17 | public WebBrowser WebBrowser => this.webBrowser; 18 | 19 | public BrowserWindow() 20 | { 21 | this.InitializeComponent(); 22 | 23 | Application.Instance.MainWindow.Closed += (sender, args) => this.Close(); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_charge.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_charge 11 | { 12 | public kcsapi_charge_ship[] api_ship { get; set; } 13 | public int[] api_material { get; set; } 14 | public int api_use_bou { get; set; } 15 | } 16 | public class kcsapi_charge_ship 17 | { 18 | public int api_id { get; set; } 19 | public int api_fuel { get; set; } 20 | public int api_bull { get; set; } 21 | public int[] api_onslot { get; set; } 22 | } 23 | // ReSharper restore InconsistentNaming 24 | } 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Mission.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleWrapper.Models.Raw; 7 | 8 | namespace Grabacr07.KanColleWrapper.Models 9 | { 10 | [DebuggerDisplay("[{Id}] {Title} - {Detail}")] 11 | public class Mission : RawDataWrapper, IIdentifiable 12 | { 13 | public int Id { get; } 14 | 15 | public string Title { get; } 16 | 17 | public string Detail { get; } 18 | 19 | public Mission(kcsapi_mission mission) 20 | : base(mission) 21 | { 22 | this.Id = mission.api_id; 23 | this.Title = mission.api_name; 24 | this.Detail = mission.api_details; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Language.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Settings 17 | { 18 | /// 19 | /// Interaction logic for Language.xaml 20 | /// 21 | public partial class Language : UserControl 22 | { 23 | public Language() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/Views/Portal.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Plugins.Views 17 | { 18 | /// 19 | /// Portal.xaml の相互作用ロジック 20 | /// 21 | public partial class Portal : UserControl 22 | { 23 | public Portal() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Overview.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Contents 17 | { 18 | /// 19 | /// Overview.xaml の相互作用ロジック 20 | /// 21 | public partial class Overview 22 | { 23 | public Overview() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Tools.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Contents 17 | { 18 | /// 19 | /// Tools.xaml の相互作用ロジック 20 | /// 21 | public partial class Tools : UserControl 22 | { 23 | public Tools() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/QuestType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | /// 9 | /// 任務の種類を示す識別子を定義します。 10 | /// 11 | public enum QuestType 12 | { 13 | /// 14 | /// デイリー任務。 15 | /// 16 | Daily = 1, 17 | 18 | /// 19 | /// ウィークリー任務。 20 | /// 21 | Weekly = 2, 22 | 23 | /// 24 | /// マンスリー任務。 25 | /// 26 | Monthly = 3, 27 | 28 | /// 29 | /// 1 回のみの任務。 30 | /// 31 | OneTime = 4, 32 | 33 | /// 34 | /// その他。 35 | /// 36 | Other = 5, 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/Quests.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Contents 17 | { 18 | /// 19 | /// Missions.xaml の相互作用ロジック 20 | /// 21 | public partial class Quests : UserControl 22 | { 23 | public Quests() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Dev/DebugTab.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Dev 17 | { 18 | /// 19 | /// DebugTab.xaml の相互作用ロジック 20 | /// 21 | public partial class DebugTab : UserControl 22 | { 23 | public DebugTab() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/Views/Settings.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Plugins.Views 17 | { 18 | /// 19 | /// Settings.xaml の相互作用ロジック 20 | /// 21 | public partial class Settings : UserControl 22 | { 23 | public Settings() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_useitem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_useitem 11 | { 12 | public int api_member_id { get; set; } 13 | public int api_id { get; set; } 14 | public int api_value { get; set; } 15 | public int api_usetype { get; set; } 16 | public int api_category { get; set; } 17 | public string api_name { get; set; } 18 | public string[] api_description { get; set; } 19 | public int api_price { get; set; } 20 | public int api_count { get; set; } 21 | } 22 | // ReSharper restore InconsistentNaming 23 | } 24 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_quest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_quest 11 | { 12 | public int api_no { get; set; } 13 | public int api_category { get; set; } 14 | public int api_type { get; set; } 15 | public int api_state { get; set; } 16 | public string api_title { get; set; } 17 | public string api_detail { get; set; } 18 | public int[] api_get_material { get; set; } 19 | public int api_bonus_flag { get; set; } 20 | public int api_progress_flag { get; set; } 21 | } 22 | // ReSharper restore InconsistentNaming 23 | } 24 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_remodel_slotlist.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | // ReSharper disable InconsistentNaming 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | public class kcsapi_remodel_slotlist 10 | { 11 | public int api_id { get; set; } 12 | public int api_slot_id { get; set; } 13 | public int api_req_fuel { get; set; } 14 | public int api_req_bull { get; set; } 15 | public int api_req_steel { get; set; } 16 | public int api_req_bauxite { get; set; } 17 | public int api_req_buildkit { get; set; } 18 | public int api_req_remodelkit { get; set; } 19 | public int api_req_slot_id { get; set; } 20 | public int api_req_slot_num { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Themes/Accents/Red.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | #FFFF0040 5 | 7 | 8 | #FFFF6464 9 | 11 | 12 | #FFB43C3C 13 | 15 | 16 | White 17 | 19 | 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Messages/ScreenshotMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | using Livet.Messaging; 7 | 8 | namespace Grabacr07.KanColleViewer.ViewModels.Messages 9 | { 10 | internal class ScreenshotMessage : ResponsiveInteractionMessage 11 | { 12 | public ScreenshotMessage() { } 13 | public ScreenshotMessage(string messageKey) : base(messageKey) { } 14 | 15 | public string Path { get; set; } 16 | 17 | protected override Freezable CreateInstanceCore() 18 | { 19 | return new ScreenshotMessage() 20 | { 21 | MessageKey = this.MessageKey, 22 | Path = this.Path, 23 | Response = this.Response, 24 | }; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Rank.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public static class Rank 9 | { 10 | public static string GetName(int rank) 11 | { 12 | switch (rank) 13 | { 14 | case 1: 15 | return "元帥"; 16 | case 2: 17 | return "大将"; 18 | case 3: 19 | return "中将"; 20 | case 4: 21 | return "少将"; 22 | case 5: 23 | return "大佐"; 24 | case 6: 25 | return "中佐"; 26 | case 7: 27 | return "新米中佐"; 28 | case 8: 29 | return "少佐"; 30 | case 9: 31 | return "中堅少佐"; 32 | case 10: 33 | default: 34 | return "新米少佐"; 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/UseItemInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Grabacr07.KanColleWrapper.Models.Raw; 8 | 9 | namespace Grabacr07.KanColleWrapper.Models 10 | { 11 | /// 12 | /// 消費アイテムの種類に基づく情報を表します。 13 | /// 14 | public class UseItemInfo : RawDataWrapper, IIdentifiable 15 | { 16 | public int Id => this.RawData.api_id; 17 | 18 | public string Name => this.RawData.api_name; 19 | 20 | internal UseItemInfo(kcsapi_mst_useitem rawData) : base(rawData) { } 21 | 22 | public override string ToString() 23 | { 24 | return $"ID = {this.Id}, Name = \"{this.Name}\""; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/ExpeditionProgressSettings.xaml: -------------------------------------------------------------------------------- 1 | 11 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_createitem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_createitem 11 | { 12 | public int api_id { get; set; } 13 | public int api_slotitem_id { get; set; } 14 | public int api_create_flag { get; set; } 15 | public int api_shizai_flag { get; set; } 16 | public kcsapi_slotitem api_slot_item { get; set; } 17 | public int[] api_material { get; set; } 18 | public int api_type3 { get; set; } 19 | public int[] api_unsetslot { get; set; } 20 | public string api_fdata { get; set; } 21 | } 22 | // ReSharper restore InconsistentNaming 23 | } -------------------------------------------------------------------------------- /source/Plugins/Counter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /source/Plugins/AudibleNotifications/Views/AudibleNotificationsSettings.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Plugins.Views 17 | { 18 | /// 19 | /// Interaction logic for Settings.xaml 20 | /// 21 | public partial class AudibleNotificationsSettings : UserControl 22 | { 23 | public AudibleNotificationsSettings() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/StateIconIndicator.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Views.Contents 17 | { 18 | /// 19 | /// StateIconIndicator.xaml の相互作用ロジック 20 | /// 21 | public partial class StateIconIndicator : UserControl 22 | { 23 | public StateIconIndicator() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/ExpeditionProgressSettings.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace Grabacr07.KanColleViewer.Plugins 17 | { 18 | /// 19 | /// ExpeditionProgressSettings.xaml の相互作用ロジック 20 | /// 21 | public partial class ExpeditionProgressSettings : UserControl 22 | { 23 | public ExpeditionProgressSettings() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_ndock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_ndock 11 | { 12 | public int api_member_id { get; set; } 13 | public int api_id { get; set; } 14 | public int api_state { get; set; } 15 | public int api_ship_id { get; set; } 16 | public long api_complete_time { get; set; } 17 | public string api_complete_time_str { get; set; } 18 | public int api_item1 { get; set; } 19 | public int api_item2 { get; set; } 20 | public int api_item3 { get; set; } 21 | public int api_item4 { get; set; } 22 | } 23 | // ReSharper restore InconsistentNaming 24 | } 25 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Composition/NotifierViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleViewer.Composition; 6 | using Grabacr07.KanColleViewer.Models; 7 | 8 | namespace Grabacr07.KanColleViewer.ViewModels.Composition 9 | { 10 | public class NotifierViewModel : PluginViewModel 11 | { 12 | private readonly INotifier notifier; 13 | 14 | public NotifierViewModel(Plugin plugin, IEnumerable notifiers = null) 15 | : base(plugin) 16 | { 17 | this.notifier = new AggregateNotifier(notifiers ?? plugin.OfType()); 18 | } 19 | 20 | public void Test() 21 | { 22 | this.notifier.Notify(NotifyService.Current.CreateTest(failed: ex => this.ErrorMessage = ex.Message)); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/IPluginMetadata.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.Composition 7 | { 8 | /// 9 | /// KanColleViewer プラグインのメタデータを公開します。 10 | /// 11 | public interface IPluginMetadata : IPluginGuid 12 | { 13 | /// 14 | /// プラグインのタイトルを取得します。 15 | /// 16 | string Title { get; } 17 | 18 | /// 19 | /// プラグインが提供する機能を簡潔に説明するテキストを取得します。 20 | /// 21 | string Description { get; } 22 | 23 | /// 24 | /// プラグインのバージョンを取得します。 25 | /// 26 | string Version { get; } 27 | 28 | /// 29 | /// プラグインの開発者を取得します。 30 | /// 31 | string Author { get; } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Controls/AircraftProficiencyIcon.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | using System.Windows.Controls; 3 | using Grabacr07.KanColleWrapper.Models; 4 | 5 | namespace Grabacr07.KanColleViewer.Controls 6 | { 7 | public class AircraftProficiencyIcon : Control 8 | { 9 | static AircraftProficiencyIcon() 10 | { 11 | DefaultStyleKeyProperty.OverrideMetadata( 12 | typeof(AircraftProficiencyIcon), 13 | new FrameworkPropertyMetadata(typeof(AircraftProficiencyIcon))); 14 | } 15 | 16 | public int Level 17 | { 18 | get { return (int)this.GetValue(LevelProperty); } 19 | set { this.SetValue(LevelProperty, value); } 20 | } 21 | 22 | public static readonly DependencyProperty LevelProperty = 23 | DependencyProperty.Register(nameof(Level), typeof(int), typeof(AircraftProficiencyIcon), new UIPropertyMetadata(0)); 24 | } 25 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/Fleets/HomeportViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels.Contents.Fleets 8 | { 9 | /// 10 | /// 母港で待機中の艦隊のステータスを表します。 11 | /// 12 | public class HomeportViewModel : QuickStateViewViewModel 13 | { 14 | // QuickStateView は ContentControl に対し型ごとの DataTemplate を適用する形で実現するので 15 | // 状況に応じた型がそれぞれ必要。これはその 1 つ。 16 | 17 | public ConditionViewModel Condition { get; } 18 | 19 | public HomeportViewModel(FleetState state) 20 | : base(state) 21 | { 22 | this.Condition = new ConditionViewModel(state.Condition); 23 | this.CompositeDisposable.Add(this.Condition); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/UseItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Diagnostics; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Grabacr07.KanColleWrapper.Models.Raw; 8 | 9 | namespace Grabacr07.KanColleWrapper.Models 10 | { 11 | /// 12 | /// 消費アイテム表します。 13 | /// 14 | public class UseItem : RawDataWrapper, IIdentifiable 15 | { 16 | public int Id => this.RawData.api_id; 17 | 18 | public string Name => this.RawData.api_name; 19 | 20 | public int Count => this.RawData.api_count; 21 | 22 | internal UseItem(kcsapi_useitem rawData) : base(rawData) { } 23 | 24 | public override string ToString() 25 | { 26 | return $"ID = {this.Id}, Name = \"{this.Name}\", Count = {this.Count}"; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Messages/Response.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleViewer.ViewModels.Messages 7 | { 8 | public class Processing 9 | { 10 | public bool IsSuccess { get; private set; } 11 | public Exception Exception { get; private set; } 12 | 13 | public Processing() 14 | { 15 | this.IsSuccess = true; 16 | } 17 | 18 | public Processing(Exception ex) 19 | { 20 | this.IsSuccess = false; 21 | this.Exception = ex; 22 | } 23 | } 24 | 25 | public class Processing : Processing 26 | { 27 | public T Result { get; private set; } 28 | 29 | public Processing(Exception ex) : base(ex) { } 30 | 31 | public Processing(T data) 32 | { 33 | this.Result = data; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/Settings/WindowSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using MetroTrilithon.Serialization; 6 | 7 | namespace Grabacr07.KanColleViewer.Models.Settings 8 | { 9 | public class WindowSettings : SettingsHost 10 | { 11 | /// 12 | /// ウィンドウを常に最前面に表示するかどうかを示す設定値を取得します。 13 | /// 14 | public SerializableProperty TopMost => this.Cache(key => new SerializableProperty(key, Providers.Local, false)); 15 | 16 | 17 | #region infrastructures 18 | 19 | protected override string CategoryName { get; } 20 | 21 | protected WindowSettings() : this(null) { } 22 | 23 | public WindowSettings(string key) 24 | { 25 | this.CategoryName = key ?? this.GetType().Name; 26 | } 27 | 28 | #endregion 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mission.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_mission 10 | { 11 | public int api_id { get; set; } 12 | public int api_maparea_id { get; set; } 13 | public string api_name { get; set; } 14 | public string api_details { get; set; } 15 | public int api_time { get; set; } 16 | public int api_difficulty { get; set; } 17 | public float api_use_fuel { get; set; } 18 | public float api_use_bull { get; set; } 19 | public int[] api_win_item1 { get; set; } 20 | public int[] api_win_item2 { get; set; } 21 | public int api_return_flag { get; set; } 22 | } 23 | // ReSharper restore InconsistentNaming 24 | } 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_start2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Grabacr07.KanColleWrapper.Models.Raw 6 | { 7 | // ReSharper disable InconsistentNaming 8 | 9 | public class kcsapi_start2 10 | { 11 | public kcsapi_mst_ship[] api_mst_ship { get; set; } 12 | public kcsapi_mst_slotitem_equiptype[] api_mst_slotitem_equiptype { get; set; } 13 | public kcsapi_mst_stype[] api_mst_stype { get; set; } 14 | public kcsapi_mst_slotitem[] api_mst_slotitem { get; set; } 15 | public kcsapi_mst_useitem[] api_mst_useitem { get; set; } 16 | public kcsapi_mst_maparea[] api_mst_maparea { get; set; } 17 | public kcsapi_mst_mapinfo[] api_mst_mapinfo { get; set; } 18 | public kcsapi_mission[] api_mst_mission { get; set; } 19 | } 20 | 21 | // ReSharper restore InconsistentNaming 22 | } 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_mst_mapinfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models.Raw 7 | { 8 | // ReSharper disable InconsistentNaming 9 | public class kcsapi_mst_mapinfo 10 | { 11 | public int api_id { get; set; } 12 | public int api_maparea_id { get; set; } 13 | public int api_no { get; set; } 14 | public string api_name { get; set; } 15 | public int api_level { get; set; } 16 | public string api_opetext { get; set; } 17 | public string api_infotext { get; set; } 18 | public int[] api_item { get; set; } 19 | public int? api_max_maphp { get; set; } 20 | public int? api_required_defeat_count { get; set; } 21 | public int[] api_sally_flag { get; set; } 22 | } 23 | // ReSharper restore InconsistentNaming 24 | } 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_kdock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_kdock 11 | { 12 | public int api_member_id { get; set; } 13 | public int api_id { get; set; } 14 | public int api_state { get; set; } 15 | public int api_created_ship_id { get; set; } 16 | public long api_complete_time { get; set; } 17 | public string api_complete_time_str { get; set; } 18 | public int api_item1 { get; set; } 19 | public int api_item2 { get; set; } 20 | public int api_item3 { get; set; } 21 | public int api_item4 { get; set; } 22 | public int api_item5 { get; set; } 23 | } 24 | // ReSharper restore InconsistentNaming 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_slot_deprive.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | // ReSharper disable InconsistentNaming 7 | 8 | namespace Grabacr07.KanColleWrapper.Models.Raw 9 | { 10 | public class kcsapi_slot_deprive 11 | { 12 | public kcsapi_slot_deprive_ship_data api_ship_data { get; set; } 13 | public kcsapi_slot_deprive_unset_List api_unset_list { get; set; } 14 | } 15 | 16 | public class kcsapi_slot_deprive_ship_data 17 | { 18 | public kcsapi_ship2 api_set_ship { get; set; } 19 | public kcsapi_ship2 api_unset_ship { get; set; } 20 | } 21 | 22 | public class kcsapi_slot_deprive_unset_List 23 | { 24 | public int api_type3No { get; set; } 25 | public int[] api_slot_list { get; set; } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/Plugins/Logger/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_map_start.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | // ReSharper disable InconsistentNaming 10 | public class kcsapi_map_start 11 | { 12 | public int api_rashin_flg { get; set; } 13 | public int api_rashin_id { get; set; } 14 | public int api_maparea_id { get; set; } 15 | public int api_mapinfo_no { get; set; } 16 | public int api_no { get; set; } 17 | public int api_color_no { get; set; } 18 | public int api_event_id { get; set; } 19 | public int api_event_kind { get; set; } 20 | public int api_next { get; set; } 21 | public int api_bosscell_no { get; set; } 22 | public int api_bosscomp { get; set; } 23 | } 24 | // ReSharper restore InconsistentNaming 25 | } 26 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/Raw/kcsapi_remodel_slot.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | // ReSharper disable InconsistentNaming 6 | 7 | namespace Grabacr07.KanColleWrapper.Models.Raw 8 | { 9 | public class kcsapi_remodel_slot 10 | { 11 | public int api_remodel_flag { get; set; } 12 | public int[] api_remodel_id { get; set; } 13 | public int[] api_after_material { get; set; } 14 | public string api_voice_id { get; set; } 15 | public kcsapi_remodel_after_slot api_after_slot { get; set; } 16 | public int[] api_use_slot_id { get; set; } 17 | } 18 | 19 | public class kcsapi_remodel_after_slot 20 | { 21 | public int api_id { get; set; } 22 | public int api_slotitem_id { get; set; } 23 | public int api_locked { get; set; } 24 | public int api_level { get; set; } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/KanColleViewer.Composition.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $title$ 6 | $version$ 7 | $author$ 8 | $author$ 9 | https://github.com/Grabacr07/KanColleViewer/blob/master/LICENSE.txt 10 | https://github.com/Grabacr07/KanColleViewer 11 | false 12 | $description$ 13 | ja-JP 14 | KanColle 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using System.Windows; 4 | 5 | // アセンブリに関する一般情報は以下の属性セットをとおして制御されます。 6 | // アセンブリに関連付けられている情報を変更するには、 7 | // これらの属性値を変更してください。 8 | [assembly: AssemblyTitle("KanColleViewer!")] 9 | [assembly: AssemblyDescription("提督業も忙しい!")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Smooth and Flat")] 12 | [assembly: AssemblyProduct("KanColleViewer")] 13 | [assembly: AssemblyCopyright("Copyright © 2015, Yuubari")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | [assembly: Guid("101B49A6-7E7B-422D-95FF-500F9EF483A8")] 17 | 18 | [assembly: ComVisible(false)] 19 | 20 | [assembly: ThemeInfo( 21 | ResourceDictionaryLocation.None, 22 | ResourceDictionaryLocation.SourceAssembly)] 23 | 24 | [assembly: AssemblyVersion("4.2.10.0")] 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/ShipSpeedExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using Grabacr07.KanColleWrapper.Models; 4 | using Grabacr07.KanColleViewer.Properties; 5 | 6 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 7 | { 8 | public static class ShipSpeedExtensions 9 | { 10 | public static string ToDisplayString(this ShipSpeed? speed) => ToDisplayString(speed ?? ShipSpeed.Immovable); 11 | 12 | public static string ToDisplayString(this ShipSpeed speed) 13 | { 14 | switch (speed) 15 | { 16 | case ShipSpeed.Fastest: 17 | return Resources.Fleets_Speed_Fastest; 18 | case ShipSpeed.Faster: 19 | return Resources.Fleets_Speed_Faster; 20 | case ShipSpeed.Fast: 21 | return Resources.Fleets_Speed_Fast; 22 | case ShipSpeed.Slow: 23 | return Resources.Fleets_Speed_Slow; 24 | default: 25 | return ""; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Behaviors/SetWindowLocationAction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | using Grabacr07.KanColleViewer.ViewModels.Messages; 7 | using Livet.Behaviors.Messaging; 8 | using Livet.Messaging; 9 | 10 | namespace Grabacr07.KanColleViewer.Views.Behaviors 11 | { 12 | public class SetWindowLocationAction : InteractionMessageAction 13 | { 14 | protected override void InvokeAction(InteractionMessage message) 15 | { 16 | var setWindowLocMessage = message as SetWindowLocationMessage; 17 | if (setWindowLocMessage == null) return; 18 | 19 | if (setWindowLocMessage.Left.HasValue) this.AssociatedObject.Left = setWindowLocMessage.Left.Value; 20 | if (setWindowLocMessage.Top.HasValue) this.AssociatedObject.Top = setWindowLocMessage.Top.Value; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/Tools/Grabacr07.Tools.JsonViewer/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/result-schema-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema", 3 | 4 | "title": "Json schema for Diagnostic Results", 5 | 6 | "type": "array", 7 | 8 | "items": { 9 | "type": "object", 10 | 11 | "properties": { 12 | "id": { "type": "string", "description": "A unique identifier for the diagnostic." }, 13 | "sevirity": { "enum": [ "Hidden", "Info", "Warning", "Error" ], "description": "Describes how severe a diagnostic is." }, 14 | "line": { "type": "integer", "description": "Line number of location where the diagnostic appears." }, 15 | "column": { "type": "integer", "description": "Column number of location where the diagnostic appears." }, 16 | "message-args": { "type": "array", "items": { "type": "string" }, "description": "Arguments to a format message string." } 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/AdmiralViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper; 6 | using Grabacr07.KanColleWrapper.Models; 7 | using Livet; 8 | using Livet.EventListeners; 9 | 10 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 11 | { 12 | public class AdmiralViewModel : ViewModel 13 | { 14 | #region Model 変更通知プロパティ 15 | 16 | public Admiral Model => KanColleClient.Current.Homeport.Admiral; 17 | 18 | #endregion 19 | 20 | public AdmiralViewModel() 21 | { 22 | this.CompositeDisposable.Add(new PropertyChangedEventListener(KanColleClient.Current.Homeport) 23 | { 24 | { nameof(Homeport.Admiral), (sender, args) => this.Update() }, 25 | }); 26 | } 27 | 28 | private void Update() 29 | { 30 | this.RaisePropertyChanged(nameof(this.Model)); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Calculator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | 7 | namespace Grabacr07.KanColleWrapper 8 | { 9 | internal static class Calculator 10 | { 11 | public static double CalcViewRange(this Fleet fleet) 12 | { 13 | return ViewRangeCalcLogic.Get(KanColleClient.Current.Settings.ViewRangeCalcType).Calc(new[] { fleet }); 14 | } 15 | 16 | public static bool IsHeavilyDamage(this LimitedValue hp) 17 | { 18 | return (hp.Current / (double)hp.Maximum) <= 0.25; 19 | } 20 | 21 | /// 22 | /// 現在のシーケンスから護衛退避した艦娘を除きます。 23 | /// 24 | public static IEnumerable WithoutEvacuated(this IEnumerable ships) 25 | { 26 | return ships.Where(ship => !ship.Situation.HasFlag(ShipSituation.Evacuation) && !ship.Situation.HasFlag(ShipSituation.Tow)); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Window.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | 7 | namespace Grabacr07.KanColleViewer.Views.Settings 8 | { 9 | partial class Window 10 | { 11 | public Window() 12 | { 13 | this.InitializeComponent(); 14 | } 15 | 16 | #region IsDockMatched 添付プロパティ 17 | 18 | public static readonly DependencyProperty IsDockMatchedProperty = DependencyProperty.RegisterAttached( 19 | "IsDockMatched", typeof(bool), typeof(Window), new PropertyMetadata(default(bool))); 20 | 21 | public static void SetIsDockMatched(DependencyObject element, bool value) 22 | { 23 | element.SetValue(IsDockMatchedProperty, value); 24 | } 25 | 26 | public static bool GetIsDockMatched(DependencyObject element) 27 | { 28 | return (bool)element.GetValue(IsDockMatchedProperty); 29 | } 30 | 31 | #endregion 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /source/Tools/Grabacr07.Tools.JsonViewer/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | using Codeplex.Data; 16 | 17 | namespace Grabacr07.Tools.JsonViewer 18 | { 19 | partial class MainWindow 20 | { 21 | public MainWindow() 22 | { 23 | InitializeComponent(); 24 | } 25 | 26 | private void Parse(object sender, RoutedEventArgs e) 27 | { 28 | var target = this.TextBox.Text; 29 | if (!string.IsNullOrEmpty(target)) 30 | { 31 | target = target.Replace(""", "\""); 32 | var obj = DynamicJson.Parse(target); 33 | } 34 | // ↖ ここにブレークポイントを仕掛けよう 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Models/Settings/Providers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using MetroTrilithon.Serialization; 7 | 8 | namespace Grabacr07.KanColleViewer.Models.Settings 9 | { 10 | public static class Providers 11 | { 12 | public static string RoamingFilePath { get; } = Path.Combine( 13 | Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), 14 | "Smooth and Flat", "KanColleViewer", "Settings.xaml"); 15 | 16 | public static string LocalFilePath { get; } = Path.Combine( 17 | Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), 18 | "Smooth and Flat", "KanColleViewer", "Settings.xaml"); 19 | 20 | public static ISerializationProvider Roaming { get; } = new FileSettingsProvider(RoamingFilePath); 21 | 22 | public static ISerializationProvider Local { get; } = new FileSettingsProvider(LocalFilePath); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Messages/ZoomMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | using Livet.Messaging; 7 | 8 | namespace Grabacr07.KanColleViewer.ViewModels.Messages 9 | { 10 | public class ZoomMessage : InteractionMessage 11 | { 12 | #region ZoomFactor 依存関係プロパティ 13 | 14 | public int ZoomFactor 15 | { 16 | get { return (int)this.GetValue(ZoomFactorProperty); } 17 | set { this.SetValue(ZoomFactorProperty, value); } 18 | } 19 | public static readonly DependencyProperty ZoomFactorProperty = 20 | DependencyProperty.Register(nameof(ZoomFactor), typeof(int), typeof(ZoomMessage), new UIPropertyMetadata(100)); 21 | 22 | #endregion 23 | 24 | protected override Freezable CreateInstanceCore() 25 | { 26 | return new ZoomMessage 27 | { 28 | MessageKey = this.MessageKey, 29 | ZoomFactor = this.ZoomFactor, 30 | }; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/ShipSlot.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | public class ShipSlot : Notifier 9 | { 10 | public SlotItem Item { get; } 11 | 12 | public int Maximum { get; private set; } 13 | 14 | public bool Equipped => this.Item != null && this.Item != SlotItem.Dummy; 15 | 16 | #region Current 変更通知プロパティ 17 | 18 | private int _Current; 19 | 20 | public int Current 21 | { 22 | get { return this._Current; } 23 | set 24 | { 25 | if (this._Current != value) 26 | { 27 | this._Current = value; 28 | this.RaisePropertyChanged(); 29 | } 30 | } 31 | } 32 | 33 | #endregion 34 | 35 | public ShipSlot(SlotItem item, int maximum, int current) 36 | { 37 | this.Item = item ?? SlotItem.Dummy; 38 | this.Maximum = maximum; 39 | this.Current = current; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/KanColleWrapper.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $title$ 6 | $version$ 7 | $author$ 8 | $author$ 9 | https://github.com/Grabacr07/KanColleViewer/blob/master/LICENSE.txt 10 | https://github.com/Grabacr07/KanColleViewer 11 | false 12 | $description$ 13 | ja-JP 14 | KanColle 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Settings/Common.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 10 | 18 | 19 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Settings/BindableTextViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Livet; 6 | 7 | namespace Grabacr07.KanColleViewer.ViewModels.Settings 8 | { 9 | public class BindableTextViewModel : ViewModel 10 | { 11 | #region Text 変更通知プロパティ 12 | 13 | private string _Text; 14 | 15 | public string Text 16 | { 17 | get { return this._Text; } 18 | set 19 | { 20 | if (this._Text != value) 21 | { 22 | this._Text = value; 23 | this.RaisePropertyChanged(); 24 | } 25 | } 26 | } 27 | 28 | #endregion 29 | } 30 | 31 | public class HyperlinkViewModel : BindableTextViewModel 32 | { 33 | #region Uri 変更通知プロパティ 34 | 35 | private Uri _Uri; 36 | 37 | public Uri Uri 38 | { 39 | get { return this._Uri; } 40 | set 41 | { 42 | if (this._Uri != value) 43 | { 44 | this._Uri = value; 45 | this.RaisePropertyChanged(); 46 | } 47 | } 48 | } 49 | 50 | #endregion 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/TimerNotifier.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reactive.Linq; 5 | using System.Reactive.Subjects; 6 | using System.Threading.Tasks; 7 | 8 | namespace Grabacr07.KanColleWrapper 9 | { 10 | /// 11 | /// 1 秒刻みのタイマー機能をサポートする変更通知オブジェクトを表します。 12 | /// 13 | public class TimerNotifier : Notifier, IDisposable 14 | { 15 | #region static members 16 | 17 | private static readonly IConnectableObservable timer; 18 | 19 | static TimerNotifier() 20 | { 21 | timer = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1)).Publish(); 22 | timer.Connect(); 23 | } 24 | 25 | #endregion 26 | 27 | private readonly IDisposable subscriber; 28 | 29 | public TimerNotifier() 30 | { 31 | this.subscriber = timer.Subscribe(_ => this.Tick()); 32 | } 33 | 34 | protected virtual void Tick() { } 35 | 36 | public virtual void Dispose() 37 | { 38 | this.subscriber?.Dispose(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer.Test/DataSource/result-schema-v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-04/schema", 3 | 4 | "title": "Json schema for Diagnostic Results", 5 | 6 | "type": "array", 7 | 8 | "items": { 9 | "type": "object", 10 | 11 | "properties": { 12 | "id": { "type": "string", "description": "A unique identifier for the diagnostic." }, 13 | "sevirity": { "enum": [ "Hidden", "Info", "Warning", "Error" ], "description": "Describes how severe a diagnostic is." }, 14 | "line": { "type": "integer", "description": "The line number of location where the diagnostic appears." }, 15 | "column": { "type": "integer", "description": "The column number of location where the diagnostic appears." }, 16 | "path": { "type": "string", "description": "The path of the source document file." }, 17 | "message-args": { "type": "array", "items": { "type": "string" }, "description": "Arguments to a format message string." } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Converters/NameLevelAdeptToStringConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Windows.Data; 4 | using Grabacr07.KanColleViewer.Properties; 5 | 6 | namespace Grabacr07.KanColleViewer.Views.Converters 7 | { 8 | public class NameLevelAdeptToStringConverter : IMultiValueConverter 9 | { 10 | public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) 11 | { 12 | if (!((values[0] is string) && (values[1] is int) && (values[2] is int))) return ""; 13 | 14 | var name = (string)values[0]; 15 | var level = (int)values[1]; 16 | var adept = (int)values[2]; 17 | var leveltext = level >= 10 ? " ★max" : level >= 1 ? (" ★+" + level) : ""; 18 | var adepttext = adept >= 1 ? " " + string.Format(Resources.Ship_Text_Adept_Template, adept) : ""; 19 | return name + leveltext + adepttext; 20 | } 21 | 22 | public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) 23 | { 24 | throw new NotImplementedException(); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Catalogs/ShipViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleViewer.Models; 6 | using Grabacr07.KanColleViewer.ViewModels.Contents; 7 | using Grabacr07.KanColleWrapper.Models; 8 | using Livet; 9 | 10 | namespace Grabacr07.KanColleViewer.ViewModels.Catalogs 11 | { 12 | public class ShipViewModel : ViewModel 13 | { 14 | public int Index { get; } 15 | 16 | public Ship Ship { get; } 17 | 18 | public SallyArea SallyArea { get; } 19 | 20 | public string Speed => this.Ship.Speed.ToDisplayString(); 21 | 22 | public string TimeToRepair => this.Ship.TimeToRepair != TimeSpan.Zero 23 | ? $"{(int)this.Ship.TimeToRepair.TotalHours:D2}:{this.Ship.TimeToRepair.ToString(@"mm\:ss")}" 24 | : ""; 25 | 26 | public ShipViewModel(int index, Ship ship, SallyArea sallyArea) 27 | { 28 | this.Index = index; 29 | this.Ship = ship; 30 | this.SallyArea = sallyArea ?? SallyArea.Default; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/SlotItemEquipType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleWrapper.Models.Raw; 7 | 8 | namespace Grabacr07.KanColleWrapper.Models 9 | { 10 | /// 11 | /// 装備タイプを表します。 12 | /// 13 | public class SlotItemEquipType : RawDataWrapper, IIdentifiable 14 | { 15 | public int Id { get; } 16 | 17 | public string Name { get; } 18 | 19 | public SlotItemEquipType(kcsapi_mst_slotitem_equiptype rawData) 20 | : base(rawData) 21 | { 22 | this.Id = rawData.api_id; 23 | this.Name = rawData.api_name; 24 | } 25 | 26 | public override string ToString() 27 | { 28 | return $"ID = {this.Id}, Name = \"{this.Name}\""; 29 | } 30 | 31 | #region static members 32 | 33 | public static SlotItemEquipType Dummy { get; } = new SlotItemEquipType(new kcsapi_mst_slotitem_equiptype 34 | { 35 | api_id = 0, 36 | api_name = "???", 37 | }); 38 | 39 | #endregion 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Annotations/LightAttribute.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Elemental Annotations 3 | * Copyright © 2015 Takeshi KIRIYA (aka takeshik) 4 | * Licensed under the zlib License; for details, see the website. 5 | */ 6 | 7 | using System; 8 | using System.Diagnostics; 9 | 10 | // ReSharper disable CheckNamespace 11 | #if ELEMENTAL_ANNOTATIONS_DEFAULT_NAMESPACE 12 | namespace Elemental.Annotations 13 | #else 14 | namespace Grabacr07.KanColleWrapper.Annotations 15 | #endif 16 | // ReSharper restore CheckNamespace 17 | { 18 | [AttributeUsage(AttributeTargets.All, AllowMultiple = true)] 19 | [Conditional("DEBUG")] 20 | public class LightAttribute 21 | : ElementalAttribute 22 | { 23 | public const string Name = "Light"; 24 | 25 | public LightAttribute(string description = null) 26 | : base(description) 27 | { 28 | } 29 | } 30 | 31 | partial class CodeElement 32 | { 33 | public const string Light = LightAttribute.Name; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Dev/DebugTab.xaml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/Plugins/Counter/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/Plugins/TaskbarProgress/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 20000 12 | 13 | 14 | False 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /licenses/NETCoreAudioAPIs.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011 Vannatech 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer/README.md: -------------------------------------------------------------------------------- 1 | KanColleViewer PluginAnalyzer 2 | -- 3 | 4 | 提督業も忙しい! (KanColleViewer) のプラグイン開発を支援する Visual Studio 2015 用アナライザーです。 5 | プラグインのコードがプラグイン開発のルールに則っているかどうかを分析し、問題があれば修正方法を提示します。 6 | 7 | ### ライセンス 8 | 9 | * [The MIT License (MIT)](../../../LICENSE.txt) 10 | 11 | MIT ライセンスの下で公開する、オープンソース / フリーソフトウェアです。 12 | 13 | ### 使用ライブラリ 14 | 15 | 以下のライブラリを使用しています。 16 | 17 | #### [ConventionCodeFixVerifier](https://github.com/ufcpp/ConventionCodeFixVerifier) 18 | 19 | > The MIT License (MIT) 20 | > 21 | > Copyright (c) 2015 Nobuyuki Iwanaga 22 | 23 | * **用途 :** テストコードの CodeFixVerifier 拡張 24 | * **ライセンス :** The MIT License (MIT) 25 | * **ライセンス全文 :** [../../../licenses/ConventionCodeFixVerifier.txt](../../../licenses/ConventionCodeFixVerifier.txt) 26 | 27 | 28 | #### [Json.NET](http://www.newtonsoft.com/json) 29 | 30 | > The MIT License (MIT) 31 | > 32 | > Copyright (c) 2007 James Newton-King 33 | 34 | * **用途 :** ConventionCodeFixVerifier の依存ライブラリ 35 | * **ライセンス :** The MIT License (MIT) 36 | * **ライセンス全文 :** [../../../licenses/Newtonsoft.Json.txt](../../../licenses/Newtonsoft.Json.txt) 37 | -------------------------------------------------------------------------------- /source/Plugins/AudibleNotifications/AudibleNotifierBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.Composition; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleViewer.Composition; 7 | 8 | namespace Grabacr07.KanColleViewer.Plugins 9 | { 10 | [InheritedExport(typeof(INotifier))] 11 | [ExportMetadata("Guid", "E1F5EF36-18F5-42D5-896F-9476CD2F3128")] 12 | public abstract class AudibleNotifierBase : INotifier, IDisposable 13 | { 14 | public bool Initialized { get; private set; } 15 | 16 | public abstract bool IsSupported { get; } 17 | 18 | protected abstract void InitializeCore(); 19 | 20 | protected abstract void NotifyCore(string type); 21 | 22 | public void Initialize() 23 | { 24 | if (this.Initialized) return; 25 | 26 | this.InitializeCore(); 27 | this.Initialized = true; 28 | } 29 | 30 | public void Notify(INotification notification) 31 | { 32 | if (!this.IsSupported) return; 33 | 34 | this.Initialize(); 35 | this.NotifyCore(notification.Type); 36 | } 37 | 38 | public virtual void Dispose() { } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Controls/SlotItemIcon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | using Grabacr07.KanColleWrapper.Models; 8 | 9 | namespace Grabacr07.KanColleViewer.Controls 10 | { 11 | /// 12 | /// 装備スロットの種類に基づいたアイコンを表示します。 13 | /// 14 | public class SlotItemIcon : Control 15 | { 16 | static SlotItemIcon() 17 | { 18 | DefaultStyleKeyProperty.OverrideMetadata( 19 | typeof(SlotItemIcon), 20 | new FrameworkPropertyMetadata(typeof(SlotItemIcon))); 21 | } 22 | 23 | #region Type 依存関係プロパティ 24 | 25 | public SlotItemIconType Type 26 | { 27 | get { return (SlotItemIconType)this.GetValue(TypeProperty); } 28 | set { this.SetValue(TypeProperty, value); } 29 | } 30 | public static readonly DependencyProperty TypeProperty = 31 | DependencyProperty.Register(nameof(Type), typeof(SlotItemIconType), typeof(SlotItemIcon), new UIPropertyMetadata(SlotItemIconType.Unknown)); 32 | 33 | #endregion 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Annotations/DarkAttribute.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Elemental Annotations 3 | * Copyright © 2015 Takeshi KIRIYA (aka takeshik) 4 | * Licensed under the zlib License; for details, see the website. 5 | */ 6 | 7 | using System; 8 | using System.Diagnostics; 9 | 10 | // ReSharper disable CheckNamespace 11 | #if ELEMENTAL_ANNOTATIONS_DEFAULT_NAMESPACE 12 | namespace Elemental.Annotations 13 | #else 14 | namespace Grabacr07.KanColleWrapper.Annotations 15 | #endif 16 | // ReSharper restore CheckNamespace 17 | { 18 | [AttributeUsage(AttributeTargets.All, AllowMultiple = true)] 19 | [Conditional("DEBUG")] 20 | public class DarkAttribute 21 | : ElementalAttribute 22 | { 23 | public const string Name = "Dark"; 24 | 25 | public DarkAttribute(string description = null) 26 | : base(description) 27 | { 28 | } 29 | } 30 | 31 | partial class CodeElement 32 | { 33 | public const string Dark = DarkAttribute.Name; 34 | } 35 | } 36 | // vim:set ft=cs fenc=utf-8 ts=4 sw=4 sts=4 et: 37 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/CreatedSlotItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models.Raw; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models 8 | { 9 | /// 10 | /// 工廠で開発された装備アイテムを表します。 11 | /// 12 | public class CreatedSlotItem : RawDataWrapper 13 | { 14 | public bool Succeed => this.RawData.api_create_flag == 1; 15 | 16 | public SlotItemInfo SlotItemInfo { get; } 17 | 18 | public CreatedSlotItem(kcsapi_createitem rawData) 19 | : base(rawData) 20 | { 21 | try 22 | { 23 | this.SlotItemInfo = this.Succeed 24 | ? KanColleClient.Current.Master.SlotItems[rawData.api_slot_item.api_slotitem_id] 25 | : KanColleClient.Current.Master.SlotItems[int.Parse(rawData.api_fdata.Split(',')[1])]; 26 | 27 | System.Diagnostics.Debug.WriteLine("createitem: {0} - {1}", this.Succeed, this.SlotItemInfo.Name); 28 | } 29 | catch (Exception ex) 30 | { 31 | System.Diagnostics.Debug.WriteLine(ex); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/Fleets/ConditionViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | using Livet; 7 | using Livet.EventListeners; 8 | 9 | namespace Grabacr07.KanColleViewer.ViewModels.Contents.Fleets 10 | { 11 | public class ConditionViewModel : ViewModel 12 | { 13 | private readonly FleetCondition source; 14 | 15 | public string RejuvenateTime => this.source.RejuvenateTime?.LocalDateTime.ToString("MM/dd HH:mm") ?? "--/-- --:--"; 16 | 17 | public string Remaining => this.source.Remaining.HasValue 18 | ? $"{(int)this.source.Remaining.Value.TotalHours:D2}:{this.source.Remaining.Value.ToString(@"mm\:ss")}" 19 | : "--:--:--"; 20 | 21 | public bool IsRejuvenating => this.source.IsRejuvenating; 22 | 23 | 24 | public ConditionViewModel(FleetCondition condition) 25 | { 26 | this.source = condition; 27 | this.CompositeDisposable.Add(new PropertyChangedEventListener(condition, (sender, args) => this.RaisePropertyChanged(args.PropertyName))); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /licenses/JSON.NET.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2007 James Newton-King 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Contents/QuestViewSource.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Data; 8 | using Grabacr07.KanColleViewer.ViewModels.Contents; 9 | using Grabacr07.KanColleWrapper.Models; 10 | 11 | namespace Grabacr07.KanColleViewer.Views.Contents 12 | { 13 | public class QuestViewSource : CollectionViewSource 14 | { 15 | #region Type 依存関係プロパティ 16 | 17 | public QuestType Type 18 | { 19 | get { return (QuestType)this.GetValue(TypeProperty); } 20 | set { this.SetValue(TypeProperty, value); } 21 | } 22 | public static readonly DependencyProperty TypeProperty = 23 | DependencyProperty.Register("Type", typeof(QuestType), typeof(QuestViewSource), new UIPropertyMetadata(QuestType.OneTime)); 24 | 25 | #endregion 26 | 27 | public QuestViewSource() 28 | { 29 | this.Filter += (sender, args) => 30 | { 31 | var quest = args.Item as QuestViewModel; 32 | args.Accepted = quest != null && quest.Type == this.Type; 33 | }; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /licenses/Newtonsoft.Json.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2007 James Newton-King 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Grabacr07 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /licenses/Nekoxy.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 veigr 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Composition/Composition/ITaskbarProgress.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Shell; 6 | 7 | namespace Grabacr07.KanColleViewer.Composition 8 | { 9 | /// 10 | /// タスク バーのプログレス インジケーターに状態を報告するためのメンバーを公開します。 11 | /// このインターフェイスは、KanColleViewer プラグインのコントラクト型です。 12 | /// 13 | [PluginFeature] 14 | public interface ITaskbarProgress 15 | { 16 | /// 17 | /// この機能をシステムが識別するための ID を取得します。 18 | /// 19 | string Id { get; } 20 | 21 | /// 22 | /// この機能をユーザーが選択するときに識別するための名前を取得します。 23 | /// 24 | string DisplayName { get; } 25 | 26 | /// 27 | /// プログレス インジケーターに報告する現在の状態を取得します。 28 | /// 29 | TaskbarItemProgressState State { get; } 30 | 31 | /// 32 | /// プログレス インジケーターに報告する現在の値を取得します。 33 | /// 34 | double Value { get; } 35 | 36 | /// 37 | /// または が変更されたときに発生します。 38 | /// 39 | event EventHandler Updated; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/ShipsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper; 6 | using Livet; 7 | using Livet.EventListeners; 8 | 9 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 10 | { 11 | public class ShipsViewModel : ViewModel 12 | { 13 | #region Count 変更通知プロパティ 14 | 15 | private int _Count; 16 | 17 | public int Count 18 | { 19 | get { return this._Count; } 20 | set 21 | { 22 | if (this._Count != value) 23 | { 24 | this._Count = value; 25 | this.RaisePropertyChanged(); 26 | } 27 | } 28 | } 29 | 30 | #endregion 31 | 32 | public ShipsViewModel() 33 | { 34 | this.CompositeDisposable.Add(new PropertyChangedEventListener(KanColleClient.Current.Homeport.Organization) 35 | { 36 | { nameof(Organization.Ships), (sender, args) => this.Update() } 37 | }); 38 | this.Update(); 39 | } 40 | 41 | private void Update() 42 | { 43 | this.Count = KanColleClient.Current.Homeport.Organization.Ships.Count; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /source/Plugins/Counter/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // このコードはツールによって生成されました。 4 | // ランタイム バージョン:4.0.30319.42000 5 | // 6 | // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | // コードが再生成されるときに損失したりします。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Counter.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /licenses/StatefulModel.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Masanori Onoue 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Composition/Plugin.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleViewer.Composition 8 | { 9 | /// 10 | /// ロードしたプラグインのメタデータと、インポートされたプラグイン機能へのアクセスを提供します。 11 | /// 12 | public class Plugin : IEnumerable 13 | { 14 | private readonly List functions = new List(); 15 | 16 | public Guid Id { get; } 17 | 18 | public PluginMetadata Metadata { get; } 19 | 20 | internal Plugin(IPluginMetadata metadata) 21 | { 22 | this.Id = new Guid(metadata.Guid); 23 | this.Metadata = new PluginMetadata 24 | { 25 | Title = metadata.Title, 26 | Description = metadata.Description, 27 | Version = metadata.Version, 28 | Author = metadata.Author, 29 | }; 30 | } 31 | 32 | internal void Add(TContract function) where TContract : class 33 | { 34 | this.functions.Add(function); 35 | } 36 | 37 | IEnumerator IEnumerable.GetEnumerator() 38 | { 39 | return this.functions.GetEnumerator(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /licenses/DesktopToast.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2015 EMO 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/SlotItemsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper; 6 | using Livet; 7 | using Livet.EventListeners; 8 | 9 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 10 | { 11 | public class SlotItemsViewModel : ViewModel 12 | { 13 | #region Count 変更通知プロパティ 14 | 15 | private int _Count; 16 | 17 | public int Count 18 | { 19 | get { return this._Count; } 20 | set 21 | { 22 | if (this._Count != value) 23 | { 24 | this._Count = value; 25 | this.RaisePropertyChanged(); 26 | } 27 | } 28 | } 29 | 30 | #endregion 31 | 32 | public SlotItemsViewModel() 33 | { 34 | this.CompositeDisposable.Add(new PropertyChangedEventListener(KanColleClient.Current.Homeport.Itemyard) 35 | { 36 | { nameof(Itemyard.SlotItemsCount), (sender, args) => this.Update() } 37 | }); 38 | this.Update(); 39 | } 40 | 41 | private void Update() 42 | { 43 | this.Count = KanColleClient.Current.Homeport.Itemyard.SlotItemsCount; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /licenses/ConventionCodeFixVerifier.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Nobuyuki Iwanaga 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/IKanColleClientSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper 8 | { 9 | public interface IKanColleClientSettings : INotifyPropertyChanged 10 | { 11 | /// 12 | /// 入渠完了と遠征帰還の通知における、通知短縮時間 (秒) を取得します。 13 | /// 14 | int NotificationShorteningTime { get; } 15 | 16 | /// 17 | /// 艦隊が再出撃可能と判断する基準となるコンディション値を取得します。 18 | /// 19 | int ReSortieCondition { get; } 20 | 21 | /// 22 | /// 索敵計算に使用するロジックを識別する文字列を取得します。 23 | /// 24 | string ViewRangeCalcType { get; } 25 | bool IsViewRangeCalcIncludeFirstFleet { get; } 26 | bool IsViewRangeCalcIncludeSecondFleet { get; } 27 | 28 | string Culture { get; } 29 | 30 | bool EnableTranslations { get; } 31 | 32 | bool EnableUpdates { get; } 33 | 34 | bool EnableAutosubmission { get; } 35 | 36 | /// 37 | /// 艦隊ステータスにおいて、旗艦が工作艦かどうかを確認するかどうかを示す値を取得します。 38 | /// 39 | bool CheckFlagshipIsRepairShip { get; } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/Fleets/ExpeditionViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | using Livet; 7 | using Livet.EventListeners; 8 | 9 | namespace Grabacr07.KanColleViewer.ViewModels.Contents.Fleets 10 | { 11 | public class ExpeditionViewModel : ViewModel 12 | { 13 | private readonly Expedition source; 14 | 15 | public Mission Mission => this.source.Mission; 16 | 17 | public bool IsInExecution => this.source.IsInExecution; 18 | 19 | public string ReturnTime => this.source.ReturnTime?.LocalDateTime.ToString("MM/dd HH:mm") ?? "--/-- --:--"; 20 | 21 | public string Remaining => this.source.Remaining.HasValue 22 | ? $"{(int)this.source.Remaining.Value.TotalHours:D2}:{this.source.Remaining.Value.ToString(@"mm\:ss")}" 23 | : "--:--:--"; 24 | 25 | public ExpeditionViewModel(Expedition expedition) 26 | { 27 | this.source = expedition; 28 | this.CompositeDisposable.Add(new PropertyChangedEventListener(expedition, (sender, args) => this.RaisePropertyChanged(args.PropertyName))); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/Plugins/Logger/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Logger.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // このコードはツールによって生成されました。 4 | // ランタイム バージョン:4.0.30319.42000 5 | // 6 | // このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 7 | // コードが再生成されるときに損失したりします。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Grabacr07.KanColleViewer.Plugins.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/Views/Converters/RangeToBooleanConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Windows.Data; 8 | 9 | namespace Grabacr07.KanColleViewer.Views.Converters 10 | { 11 | public class RangeToBooleanConverter : IValueConverter 12 | { 13 | 14 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 15 | { 16 | if (value == null) return false; 17 | try 18 | { 19 | var v = (int)value; 20 | var p = parameter as string; 21 | 22 | var range = p?.Split(new[] { '-' }, StringSplitOptions.RemoveEmptyEntries); 23 | if (range?.Length != 2) return false; 24 | 25 | var min = int.Parse(range[0]); 26 | var max = int.Parse(range[1]); 27 | return min <= v && v <= max; 28 | } 29 | catch (Exception ex) 30 | { 31 | System.Diagnostics.Debug.Write(ex); 32 | } 33 | 34 | return false; 35 | } 36 | 37 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 38 | { 39 | throw new NotImplementedException(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer/KanColleViewer.PluginAnalyzer.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $title$ 6 | $version$ 7 | $author$ 8 | $author$ 9 | https://github.com/Grabacr07/KanColleViewer/blob/master/LICENSE.txt 10 | https://github.com/Grabacr07/KanColleViewer 11 | false 12 | $description$ 13 | ja-JP 14 | KanColle, analyzers 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/FleetSituation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace Grabacr07.KanColleWrapper.Models 7 | { 8 | [Flags] 9 | public enum FleetSituation 10 | { 11 | /// 12 | /// 艦隊に艦娘が編成されていません。 13 | /// 14 | Empty = 0, 15 | 16 | /// 17 | /// 艦隊は母港で待機中です。 18 | /// 19 | Homeport = 1, 20 | 21 | /// 22 | /// この艦隊は連合艦隊です。 23 | /// 24 | Combined = 1 << 1, 25 | 26 | /// 27 | /// 艦隊は出撃中です。 28 | /// 29 | Sortie = 1 << 2, 30 | 31 | /// 32 | /// 艦隊は遠征中です。 33 | /// 34 | Expedition = 1 << 3, 35 | 36 | /// 37 | /// 艦隊に大破した艦娘がいます。 38 | /// 39 | HeavilyDamaged = 1 << 4, 40 | 41 | /// 42 | /// 艦隊に完全に補給されていない艦娘がいます。 43 | /// 44 | InShortSupply = 1 << 5, 45 | 46 | /// 47 | /// 艦隊に入渠中の艦娘がいます。 48 | /// 49 | Repairing = 1 << 6, 50 | 51 | /// 52 | /// 旗艦が工作艦です。 53 | /// 54 | FlagshipIsRepairShip = 1 << 7, 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /source/Plugins/MasterDataViewer/MasterDataViewer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.Composition; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleViewer.Composition; 7 | using Grabacr07.KanColleViewer.Plugins.ViewModels; 8 | using Grabacr07.KanColleViewer.Plugins.Views; 9 | 10 | namespace Grabacr07.KanColleViewer.Plugins 11 | { 12 | [Export(typeof(IPlugin))] 13 | [Export(typeof(ITool))] 14 | [Export(typeof(ISettings))] 15 | [ExportMetadata("Guid", "45BF5FE6-7D81-4978-8B8A-84FD80BBEC10")] 16 | [ExportMetadata("Title", "MastarData")] 17 | [ExportMetadata("Description", "start2 で取得される、艦これのマスター データを閲覧するためのビュー機能を提供します。")] 18 | [ExportMetadata("Version", "1.0")] 19 | [ExportMetadata("Author", "@Grabacr07")] 20 | public class MasterDataViewer : IPlugin, ITool, ISettings 21 | { 22 | private readonly PortalViewModel portalViewModel = new PortalViewModel(); 23 | 24 | public void Initialize() 25 | { 26 | } 27 | 28 | string ITool.Name => "MasterView"; 29 | 30 | object ITool.View => new Portal { DataContext = this.portalViewModel }; 31 | 32 | object ISettings.View => new Settings(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Styles/Controls.xaml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Converters/HasFlagConverter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Globalization; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using System.Windows.Data; 7 | 8 | namespace Grabacr07.KanColleViewer.Converters 9 | { 10 | public class HasFlagConverter : IValueConverter 11 | { 12 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 13 | { 14 | try 15 | { 16 | var enumValue = value as Enum; 17 | if (enumValue != null) 18 | { 19 | var p = parameter as string; 20 | if (p != null) 21 | { 22 | return p.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries) 23 | .Select(x => x.Trim()) 24 | .Select(x => Enum.Parse(enumValue.GetType(), x) as Enum) 25 | .All(x => enumValue.HasFlag(x)); 26 | } 27 | } 28 | } 29 | catch (Exception ex) 30 | { 31 | System.Diagnostics.Debug.Write(ex); 32 | } 33 | 34 | return false; 35 | } 36 | 37 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 38 | { 39 | throw new NotImplementedException(); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer.Controls/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | using System.Windows; 4 | using System.Windows.Markup; 5 | 6 | [assembly: AssemblyTitle("KanColleViewer.Controls")] 7 | [assembly: AssemblyCompany("grabacr.net")] 8 | [assembly: AssemblyProduct("KanColleViewer.Controls")] 9 | [assembly: AssemblyDescription("UI controls for KanColleViewer and plugins.")] 10 | [assembly: AssemblyCopyright("Copyright © 2015 Grabacr07")] 11 | 12 | [assembly: ComVisible(false)] 13 | [assembly: Guid("7FFFD746-AE00-4701-82B5-373C603D8D21")] 14 | 15 | [assembly: ThemeInfo( 16 | ResourceDictionaryLocation.None, 17 | ResourceDictionaryLocation.SourceAssembly)] 18 | 19 | [assembly: XmlnsDefinition("http://schemes.grabacr.net/winfx/2015/kancolleviewer/controls", "Grabacr07.KanColleViewer.Controls")] 20 | [assembly: XmlnsDefinition("http://schemes.grabacr.net/winfx/2015/kancolleviewer/converters", "Grabacr07.KanColleViewer.Converters")] 21 | [assembly: XmlnsDefinition("http://schemes.grabacr.net/winfx/2015/kancolleviewer/interactivity", "Grabacr07.KanColleViewer.Interactivity")] 22 | 23 | [assembly: AssemblyVersion("1.3.2")] 24 | [assembly: AssemblyInformationalVersion("1.3.2")] 25 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/RawDataWrapper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models 8 | { 9 | /// 10 | /// 艦これ API からの応答に含まれる api_data (生のデータ) をラップします。 11 | /// 12 | /// ラップする api_data (生のデータ) の型。 13 | public abstract class RawDataWrapper : Notifier 14 | { 15 | /// 16 | /// 艦これ API からの応答に含まれる api_data をパースした生のデータを取得します。 17 | /// 18 | [EditorBrowsable(EditorBrowsableState.Never)] 19 | public T RawData { get; private set; } 20 | 21 | /// 22 | /// ラップする api_data (生のデータ) を使用して、 クラスの新しいインスタンスを初期化します。 23 | /// 24 | /// ラップする生のデータ。 25 | protected RawDataWrapper(T rawData) 26 | { 27 | this.RawData = rawData; 28 | } 29 | 30 | /// 31 | /// Update the RawData for all derived classes. 32 | /// 33 | /// RawData to update to. 34 | protected void UpdateRawData(T rawData) 35 | { 36 | this.RawData = rawData; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/BuildingDockViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | using Livet; 7 | using Livet.EventListeners; 8 | 9 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 10 | { 11 | public class BuildingDockViewModel : ViewModel 12 | { 13 | private readonly BuildingDock source; 14 | 15 | public int Id => this.source.Id; 16 | 17 | public string Ship => this.source.Ship == null ? "----" : this.source.Ship.Name; 18 | 19 | public string CompleteTime => this.source.CompleteTime?.LocalDateTime.ToString("MM/dd HH:mm") ?? "--/-- --:--:--"; 20 | 21 | public string Remaining => this.source.Remaining.HasValue 22 | ? $"{(int)this.source.Remaining.Value.TotalHours:D2}:{this.source.Remaining.Value.ToString(@"mm\:ss")}" 23 | : "--:--:--"; 24 | 25 | public BuildingDockState State => this.source.State; 26 | 27 | public BuildingDockViewModel(BuildingDock source) 28 | { 29 | this.source = source; 30 | this.CompositeDisposable.Add(new PropertyChangedEventListener(source, (sender, args) => this.RaisePropertyChanged(args.PropertyName))); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleWrapper/Models/MapArea.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models.Raw; 6 | 7 | namespace Grabacr07.KanColleWrapper.Models 8 | { 9 | public class MapArea : RawDataWrapper, IIdentifiable 10 | { 11 | public int Id { get; } 12 | 13 | public string Name { get; } 14 | 15 | public MasterTable MapInfos { get; } 16 | 17 | public MapArea(kcsapi_mst_maparea maparea, MasterTable mapInfos) 18 | : base(maparea) 19 | { 20 | this.Id = maparea.api_id; 21 | this.Name = maparea.api_name; 22 | this.MapInfos = new MasterTable(mapInfos.Values.Where(x => x.MapAreaId == maparea.api_id)); 23 | foreach (var cell in this.MapInfos.Values) 24 | cell.MapArea = this; 25 | } 26 | 27 | public override string ToString() 28 | { 29 | return $"ID = {this.Id}, Name = {this.Name}"; 30 | } 31 | 32 | #region static members 33 | 34 | public static MapArea Dummy { get; } = new MapArea(new kcsapi_mst_maparea 35 | { 36 | api_id = 0, 37 | api_name = "???", 38 | }, new MasterTable()); 39 | 40 | #endregion 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/Plugins/WindowsNotifier/NotifierBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.Composition; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Grabacr07.KanColleViewer.Composition; 7 | 8 | namespace Grabacr07.KanColleViewer.Plugins 9 | { 10 | [InheritedExport(typeof(INotifier))] 11 | [ExportMetadata("Guid", "6EDE38C8-412D-4A73-8FE3-A9D20EB9F0D2")] 12 | public abstract class NotifierBase : INotifier, IDisposable 13 | { 14 | public bool Initialized { get; private set; } 15 | 16 | public abstract bool IsSupported { get; } 17 | 18 | protected abstract void InitializeCore(); 19 | 20 | protected abstract void NotifyCore(string header, string body, Action activated, Action failed); 21 | 22 | public void Initialize() 23 | { 24 | if (this.Initialized) return; 25 | 26 | this.InitializeCore(); 27 | this.Initialized = true; 28 | } 29 | 30 | public void Notify(INotification notification) 31 | { 32 | if (!this.IsSupported) return; 33 | 34 | this.Initialize(); 35 | this.NotifyCore(notification.Header, notification.Body, notification.Activated, notification.Failed); 36 | } 37 | 38 | public virtual void Dispose() { } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /source/Grabacr07.KanColleViewer/ViewModels/Contents/RepairingDockViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Grabacr07.KanColleWrapper.Models; 6 | using Livet; 7 | using Livet.EventListeners; 8 | 9 | namespace Grabacr07.KanColleViewer.ViewModels.Contents 10 | { 11 | public class RepairingDockViewModel : ViewModel 12 | { 13 | private readonly RepairingDock source; 14 | 15 | public int Id => this.source.Id; 16 | 17 | public string Ship => this.source.Ship == null ? "----" : this.source.Ship.Info.Name; 18 | 19 | public string CompleteTime => this.source.CompleteTime?.LocalDateTime.ToString("MM/dd HH:mm") ?? "--/-- --:--:--"; 20 | 21 | public string Remaining => this.source.Remaining.HasValue 22 | ? $"{(int)this.source.Remaining.Value.TotalHours:D2}:{this.source.Remaining.Value.ToString(@"mm\:ss")}" 23 | : "--:--:--"; 24 | 25 | public RepairingDockState State => this.source.State; 26 | 27 | public RepairingDockViewModel(RepairingDock source) 28 | { 29 | this.source = source; 30 | this.CompositeDisposable.Add(new PropertyChangedEventListener(source, (sender, args) => this.RaisePropertyChanged(args.PropertyName))); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /source/Analyzers/KanColleViewer.PluginAnalyzer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("KanColleViewer.PluginAnalyzer")] 8 | [assembly: AssemblyCompany("grabacr.net")] 9 | [assembly: AssemblyProduct("KanColleViewer.PluginAnalyzer")] 10 | [assembly: AssemblyDescription("Analyzers for KanColleViewer plugins.")] 11 | [assembly: AssemblyCopyright("Copyright © 2015 Grabacr07")] 12 | 13 | // Setting ComVisible to false makes the types in this assembly not visible 14 | // to COM components. If you need to access a type in this assembly from 15 | // COM, set the ComVisible attribute to true on that type. 16 | [assembly: ComVisible(false)] 17 | 18 | // Version information for an assembly consists of the following four values: 19 | // 20 | // Major Version 21 | // Minor Version 22 | // Build Number 23 | // Revision 24 | // 25 | // You can specify all the values or you can default the Build and Revision Numbers 26 | // by using the '*' as shown below: 27 | [assembly: AssemblyVersion("1.1.1.0")] 28 | --------------------------------------------------------------------------------