Пример #1
0
        /// <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();
        }
Пример #2
0
        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();
        }
Пример #3
0
        /// <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;
            }
        }