Example #1
0
        public GeneralView()
        {
            InitializeComponent();

            DataStorage.Instance.PropertyEvent(nameof(DataStorage.Initialized), () =>
            {
                Action <bool> Enabler = (x) =>
                {
                    btnShipList.Enabled = x;
                    btnItemList.Enabled = x;
                    btnAkashi.Enabled   = x;
                };
                var Enabled = DataStorage.Instance.Initialized;

                if (this.InvokeRequired)
                {
                    this.Invoke(() => Enabler(Enabled));
                }
                else
                {
                    Enabler(Enabled);
                }
            }, true);

            this.HQRecorder = new HQRecord();
            this.HQRecorder.Load();

            this.comboResources1.SelectedIndexChanged += (s, e) => Settings.ResourceSelected1.Value = this.comboResources1.SelectedIndex;
            this.comboResources2.SelectedIndexChanged += (s, e) => Settings.ResourceSelected2.Value = this.comboResources2.SelectedIndex;
        }
 public AdmiralViewModel()
 {
     Record = new HQRecord();
     Record.Load();
     this.CompositeDisposable.Add(new PropertyChangedEventListener(KanColleClient.Current.Homeport)
     {
         { nameof(Homeport.Admiral), (sender, args) => this.Update() },
         { nameof(Homeport.Admiral), (sender, args) => Record.Updated() },
     });
 }
        public AdmiralViewModel()
        {
            ServerName = "???";

            Record = new HQRecord();
            Record.Load();

            var homeport = KanColleClient.Current.Homeport;

            this.CompositeDisposable.Add(new PropertyChangedEventListener(homeport)
            {
                { nameof(homeport.Admiral), (sender, args) => {
                      this.Update();
                      Record.Updated();
                  } }
            });
            this.CompositeDisposable.Add(new PropertyChangedEventListener(homeport.Materials)
            {
                { nameof(homeport.Materials.Fuel), (sender, args) => this.UpdateResource() },
                { nameof(homeport.Materials.Ammunition), (sender, args) => this.UpdateResource() },
                { nameof(homeport.Materials.Steel), (sender, args) => this.UpdateResource() },
                { nameof(homeport.Materials.Bauxite), (sender, args) => this.UpdateResource() },
            });

            #region Server List
            var servers = new Dictionary <string, string>
            {
                { "203.104.209.71", "요코스카 진수부" },
                { "203.104.209.87", "구레 진수부" },
                { "125.6.184.215", "사세보 진수부" },
                { "203.104.209.183", "마이즈루 진수부" },
                { "203.104.209.150", "오오미나토 경비부" },
                { "203.104.209.134", "트럭 정박지" },
                { "203.104.209.167", "링가 정박지" },
                { "203.104.248.135", "라바울 기지" },
                { "125.6.189.7", "쇼트랜드 정박지" },
                { "125.6.189.39", "부인 기지" },
                { "125.6.189.71", "타위타위 정박지" },
                { "125.6.189.103", "팔라우 정박지" },
                { "125.6.189.135", "부르네이 정박지" },
                { "125.6.189.167", "히토캇푸만 정박지" },
                { "125.6.189.215", "파라무쉬르 정박지" },
                { "125.6.189.247", "스쿠모만 정박지" },
                { "203.104.209.23", "카노야 기지" },
                { "203.104.209.39", "이와가와 기지" },
                { "203.104.209.55", "사이키만 정박지" },
                { "203.104.209.102", "하시라지마 정박지" },
            };
            #endregion

            KanColleClient.Current.Proxy.api_port
            .Subscribe(x =>
            {
                var server = x.Request.Headers.Host;
                if (servers.ContainsKey(server))
                {
                    this.ServerName = servers[server];
                }
                else
                {
                    this.ServerName = server;
                }
            });
        }