예제 #1
0
 public void SetData()
 {
     weaponGroup.SetData <WeaponItem, TableWeapon>(TableWeapon.GetAll(),
                                                   (index, item, data) =>
     {
         item.SetData(data.id);
     });
 }
예제 #2
0
        private void OnEventGameDataWhenever(EventGameData evt)
        {
            if (evt.action == EventGameData.Action.UnlockNewLevel)
            {
                if (D.I.unlockedGameLevel == 2)
                {
                    needOpenTutorial = true;
                }
                else if (!GameLocalData.Instance.isRateOver)
                {
                    foreach (var lv in CT.table.rateUsHintLevel)
                    {
                        if (lv == D.I.unlockedGameLevel - 1)
                        {
                            needOpenRate = true;
                            break;
                        }
                    }
                }

                if (D.I.unlockedGameLevel == CT.table.dailySignUnlockLevel)
                {
                    mOpenHints.Add(LTKey.UNLOCK_SYSTEM_X.LT(LTKey.DAILY_SIGN.LT()));
                }
                if (D.I.unlockedGameLevel == CT.table.bookUnlockLevel)
                {
                    mOpenHints.Add(LTKey.UNLOCK_SYSTEM_X.LT(LTKey.VIRUS_BOOK.LT()));
                }
                if (D.I.unlockedGameLevel == CT.table.weaponUnlockLevel)
                {
                    mOpenHints.Add(LTKey.UNLOCK_SYSTEM_X.LT(LTKey.WEAPON_SYSTEM.LT()));
                }
                foreach (var t in TableWeapon.GetAll())
                {
                    if (D.I.unlockedGameLevel == t.unlockLevel)
                    {
                        mOpenHints.Add(LTKey.UNLOCK_WEAPON_X.LT(LT.Get(t.nameID)));
                    }
                }
            }
        }
예제 #3
0
        public int GetTrialWeaponID()
        {
            if (unlockedGameLevel < CT.table.weaponUnlockLevel)
            {
                return(0);
            }

            var _last = new DateTime(localData.lastTrialTicks);

            if (_last.DayOfYear != DateTime.Now.DayOfYear)
            {
                localData.lastTrialTicks = DateTime.Now.Ticks;
                localData.trialCount     = 0;
                SaveLocalData();
            }
            if (localData.trialCount >= CT.table.maxWeaponTrialCount)
            {
                return(0);
            }
            if (localData.trialWeaponID == 0 && streak < 0)
            {
                var _weapons = new List <int>();
                foreach (var w in TableWeapon.GetAll())
                {
                    if (w.unlockLevel <= unlockedGameLevel)
                    {
                        _weapons.Add(w.id);
                    }
                }
                var _id = FormulaUtil.RandomInArray(_weapons.ToArray());
                if (_id != 0)
                {
                    localData.trialWeaponID = _id;
                    SaveLocalData();
                }
            }
            return(localData.trialWeaponID);
        }