Beispiel #1
0
        public void LowerByOneLevel()
        {
            var newLvl = (int)FocusLevel - 1;

            if (newLvl < 0)
            {
                newLvl = 0;
            }
            FocusLevel = (FocusLevel)newLvl;
        }
        public ChronodexSector(string[] timeData)
        {
            // basic fields
            _startTime = timeData[0].Trim();
            _duration = Int32.Parse(timeData[1]);
            _focus = (FocusLevel)Int32.Parse(timeData[2]);
            _area = GetAreaFrom(timeData[3]);
            _description = timeData.Length > 4 ? String.Join("-", timeData.Skip(4)) : "";
            _layedOut = false;
            _hatchType = _styles[0];

            // derivative fields
            _angleBegin = Chronodex.angles[_startTime];
            _angleEnd = _angleBegin + _duration * 7.5f;
            _angleMiddle = (_angleBegin + _angleEnd) / 2;
            _centralPoint = new PointF(615.0f + (float)Math.Cos(_angleMiddle * Math.PI / 180) * (144 + (Int32)_focus * 30),
                509.0f + (float)Math.Sin(_angleMiddle * Math.PI / 180) * (144 + (Int32)_focus * 30));
            _calloutEnd = new PointF(615.0f + (float)Math.Cos(_angleMiddle * Math.PI / 180) * 380,
                509.0f + (float)Math.Sin(_angleMiddle * Math.PI / 180) * 380);
            _color = Chronodex.colors[_area];
        }
        private IFocusCardMoveResolver ResolveForFocusLevel(IReadOnlyCollection <IFocusCardMoveResolver> applicableTypeResolvers, FocusLevel focusLevel)
        {
            var resolver = applicableTypeResolvers.FirstOrDefault(x => x.FocusLevel == focusLevel);

            if (resolver == null)
            {
                return(_resolvers.First());                  // DBr: TESTING HACK: this is just to cover no impls for some cards - remove!
            }
            return(resolver);
        }
 private FocusCardModel GetUpgradeFocusCard(FocusCardModel focusCardToUpgrade, FocusLevel levelBarrierHit)
 {
     if (focusCardToUpgrade.Level < levelBarrierHit)
     {
         return(_globalGameCache.FocusCardsDeck.First(x => x.Type == focusCardToUpgrade.Type &&
                                                      x.Level == levelBarrierHit));
     }
     else
     {
         return(_globalGameCache.FocusCardsDeck.First(x => x.Type == focusCardToUpgrade.Type &&
                                                      x.Level == focusCardToUpgrade.Level + 1));
     }
 }
        public FocusBarUpgradeResponse RegenerateFocusBarLowestTechnologyLevelUpgrade(FocusBarModel activeFocusBar, FocusLevel levelBarrierHit)
        {
            var focusCardToUpgrade = GetFocusCardToUpgrade(activeFocusBar);
            var upgradeFocusCard   = GetUpgradeFocusCard(focusCardToUpgrade, levelBarrierHit);

            return(CreateUpgradedFocusBar(activeFocusBar, focusCardToUpgrade, upgradeFocusCard));
        }
 public FocusCardModel(FocusType type, FocusLevel level, string name)
 {
     Type  = type;
     Level = level;
     Name  = name;
 }