コード例 #1
0
        protected virtual void Init()
        {
            //var dt1 = DateTime.ParseExact(RunParams.StartYM.ToString(), "yyyyMM", CultureInfo.CurrentCulture);

            //var dt2 = DateTime.ParseExact(Pol.Rec.cont.contYM.ToString(), "yyyyMM", CultureInfo.CurrentCulture);
            //ElapsedMth = (dt1.Year - dt2.Year) * 12 + (dt1.Month - dt2.Month) + 1,

            p            = new ProjParams();
            p.CurrentMth = Pol.Rec.ElapsedMth;
            p.CurrentYr  = (Pol.Rec.ElapsedMth - 1) / 12 + 1;
            p.CurrentAge = Pol.Rec.ContAge + Pol.Rec.ElapsedMth / 12;
            p.ProjPeriod = GetProjMth(Pol) - Pol.Rec.ElapsedMth; // 상품별로 구현

            v.FundsCnt      = 3;
            v.Navs          = new double[v.FundsCnt];
            v.PremAlloRates = new double[v.FundsCnt];
            InitScenarios();

            v.AccumPrem        = Math.Min(Pol.Rec.PremYr * 12, Pol.Rec.ElapsedMth) * Pol.Rec.Prem;
            v.Navs[0]          = Pol.Rec.FundVal01;
            v.Navs[1]          = Pol.Rec.FundVal02;
            v.Navs[2]          = Pol.Rec.FundVal03;
            v.PremAlloRates[0] = Pol.Rec.FundAllo01 / 100.0;
            v.PremAlloRates[1] = Pol.Rec.FundAllo02 / 100.0;
            v.PremAlloRates[2] = Pol.Rec.FundAllo03 / 100.0;

            v.DiscountedFactorBOP = 1.0;
            v.LivesBOP            = 1.0;

            Prd = new Product(Pol.Rec.ProdCode);

            MaxAge = Pol.MortRates.Keys.Max();
        }
コード例 #2
0
    // OnActivate is called once when the weapon is activated
    protected override void OnActivate(Vector3 start, Vector3 direction, PlayerController targetController = null)
    {
        Vector3 shootPoint       = player.controller.ShootPoint.transform.position;
        Vector3 spacingDirection = player.controller.ShootPoint.transform.right;
        Vector3 targetLocation   = shootPoint + player.controller.ShootPoint.transform.forward * data.targetDistance;

        ProjParams[] projParams = new ProjParams[data.fireOrder.Length];
        // Set up the origin and direction for each projectile
        for (int i = 0; i < data.fireOrder.Length; ++i)
        {
            projParams[i].origin    = shootPoint + spacingDirection * (((data.fireOrder.Length - 1) * data.bulletSpacing / -2) + data.fireOrder[i] * data.bulletSpacing);
            projParams[i].direction = Quaternion.LookRotation(targetLocation - projParams[i].origin, player.controller.ShootPoint.transform.up);
        }

        player.controller.StartCoroutine(delayedShoot(data.timeBetweenBullets));

        IEnumerator delayedShoot(float time)
        {
            float startTime = Time.time;

            GameManager.instance.audioManager.Play("Icicle");
            for (int i = 0; i < projParams.Length; ++i)
            {
                data.projectile.Shoot(player, data.projSpeed, projParams[i].origin, projParams[i].direction, (Vector3 origin, Vector3 contactPoint, GameObject target) => { Hit(origin, contactPoint, target); });

                while (Time.time < startTime + time * (i + 1))
                {
                    yield return(null);
                }
            }
        }
    }
コード例 #3
0
ファイル: LogicResult.cs プロジェクト: Pretas/CSharpProjs
        protected void SetMonthlyResult(ProjParams p, ProjVars v)
        {
            if (p.ProjMth == 1)
            {
                MthlyVars = new List <object[]>();

                List <object> names = new List <object>();
                names.AddRange(GetObjNames(p));
                names.AddRange(GetObjNames(v));
                MthlyVars.Add(names.ToArray());
            }

            List <object> vals = new List <object>();

            vals.AddRange(GetObjValues(p));
            vals.AddRange(GetObjValues(v));
            MthlyVars.Add(vals.ToArray());
        }