/// <summary> /// 初期化周り /// </summary> private void MainInit() { var root = Util.root; if (!Directory.Exists(root + "/system")) { Directory.CreateDirectory(root + "/system"); } if (!Directory.Exists(root + "/data")) { Directory.CreateDirectory(root + "/data"); } var bundle = Path.Combine(NSBundle.MainBundle.BundlePath, "Contents", "Resources", "system"); if (!File.Exists(root + "/system/config.csm")) { File.Copy(bundle + "/config.csm", root + "/system/config.csm"); } for (int i = 0; i < 10; i++) { if (!File.Exists(root + "/system/setting" + i.ToString() + ".csm")) { File.Copy(bundle + "/setting" + i.ToString() + ".csm", root + "/system/setting" + i.ToString() + ".csm"); } } if (!File.Exists(root + "/system/addr.csv")) { File.Copy(bundle + "/addr.csv", root + "/system/addr.csv"); } config = ConfigFromXml.GetConfigFromXml(root + "/system/config.csm"); settings = new SettingData[10]; for (int i = 0; i < 10; i++) { settings[i] = SettingFromXml.GetSettingFromXml(root + "/system/setting" + i.ToString() + ".csm", i); settings[i].bands = 1; } CommonInstance.getInstance().config = config; CommonInstance.getInstance().settings = settings; CommonInstance.getInstance().currentSetting = settings[0]; CommonInstance.getInstance().currentSettingIndex = 0; ReSetSettingMenu(); calc = new AstroCalc(); ringsData[0] = ringsData[1] = ringsData[2] = ringsData[3] = ringsData[4] = ringsData[5] = ringsData[6] = calc.ReCalc(config, settings[0], new UserData()); // Console.WriteLine(config.defaultPlace); // aspect calc for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { aspectsData[i, j] = new List <AspectInfo>(); } } aspect = new AspectCalc(); foreach (int i in Enumerable.Range(0, 4)) { aspectsData[i, i] = aspect.AspectCalcSame(ringsData[i].planetData, i); } int ringIndexFrom = 0; int ringIndexTo = 0; for (ringIndexFrom = 0; ringIndexFrom < 5; ringIndexFrom++) { for (ringIndexTo = 0; ringIndexTo < 5; ringIndexTo++) { if (ringIndexFrom == ringIndexTo) { continue; } aspectsData[ringIndexFrom, ringIndexTo] = aspect.AspectCalcOther(ringsData[ringIndexFrom].planetData, ringsData[ringIndexTo].planetData, ringIndexFrom, ringIndexTo); } } ReSetUserBox(); // cuspList CuspListDataSource CDataSource = new CuspListDataSource(); for (int i = 1; i <= 12; i++) { CDataSource.list.Add(new CuspListData() { Degree1 = ringsData[0].cusps[i], Degree2 = ringsData[1].cusps[i], Degree3 = ringsData[2].cusps[i] }); } CuspList.DataSource = CDataSource; CuspList.Delegate = new CuspListDelegate(CDataSource); /* * SKCanvasView sk = new SKCanvasView(new CGRect(0, 0, 690, 720)); * sk.PaintSurface += CanvasPaint; * horoscopeCanvas.AddSubview(sk); */ // time setter DateSetterDatePicker.DateValue = new NSDate(); DateSetterCombo.SelectItem(0); ReRender(); }
private void MainInit() { config = CommonInstance.getInstance().config; setting = CommonInstance.getInstance().settings; calc = CommonInstance.getInstance().calc; ringsData[0] = ringsData[1] = ringsData[2] = ringsData[3] = ringsData[4] = ringsData[5] = ringsData[6] = calc.ReCalc(config, setting[0], new UserData()); UserDataView.DataContext = new MainWindowUserDataViewModel(); // InfoFrame.Navigate(typeof(MainListPage), new CuspList() { planetList = ringsData[0].planetData, cusps = ringsData[0].cusps }); cuspList = new CuspList { planetList = ringsData[0].planetData, cusps = ringsData[0].cusps }; PlanetCusp.DataContext = vm1; HouseCusp.DataContext = vm2; ListRender(); // timesetter部はwebviewにする DateWeb.Navigate(new Uri("ms-appdata:///local/system/datetime.html")); CanvasRender(); }
/// <summary> /// DBからReCalcを受ける /// </summary> /// <param name="index">ring index</param> /// <param name="type">1:u1 2:u2 3:e1 4:e2</param> public void ReCalcUserDb(int index, int type) { switch (type) { case USER1: ringsData[index] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, udata1); break; case USER2: ringsData[index] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, udata2); break; case EVENT1: ringsData[index] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata1); break; case EVENT2: ringsData[index] = calc.ReCalc(config, CommonInstance.getInstance().currentSetting, edata2); break; default: break; } }