Пример #1
0
        private void AddPowerLevel(byte maxCount, ModifierDetailRootType_Simple type)
        {
            var powerContentTrans = transform.FindTransfrom("Energy/Content");
            int index             = 0;

            for (int i = 0; i < powerItemList.Count; i++)
            {
                if (powerItemList[i].currentState == MainShipPowerItem.PowerState.Fill)
                {
                    break;
                }
                index++;
            }
            if (index < Config.ConfigData.MainShipConfigData.areaEnergyLevelMax - maxCount + 1)
            {
                return;
            }

            if (MainShipManager.Instance.ChangeAreaPowerLevel(1, type))
            {
                ///Change Success
                powerItemList[index - 1].SwitchState(MainShipPowerItem.PowerState.Fill);
                UIManager.Instance.SendMessageToWnd(UIPath.WindowPath.MainMenu_Page, new UIMessage(UIMsgType.MainShip_Area_EnergyLoad_Change));
            }
        }
Пример #2
0
        /// <summary>
        /// 覆盖数据会用新值覆盖旧值
        /// </summary>
        /// <param name="rootType"></param>
        /// <param name="num"></param>
        /// <param name="coverData"></param>
        public void ValueChange(ModifierDetailRootType_Simple rootType, float num, bool coverData = false)
        {
            if (num == 0 && !coverData)
            {
                return;
            }
            if (detailDic.ContainsKey(rootType))
            {
                if (coverData)
                {
                    detailDic[rootType].value = num;
                }
                else
                {
                    detailDic[rootType].value += num;
                }

                if (detailDic[rootType].value == 0)
                {
                    //Remove
                    detailDic.Remove(rootType);
                }
            }
            else
            {
                ModifierDetailItem_Simple item = new ModifierDetailItem_Simple(rootType, num);
                detailDic.Add(rootType, item);
            }
        }
Пример #3
0
 public void AddResearchMax(ModifierDetailRootType_Simple rootType, float num)
 {
     researchMaxDetailPac.ValueChange(rootType, num);
     _researchMax += num;
     if (_researchMax < 0)
     {
         _researchMax = 0;
     }
 }
Пример #4
0
 public void AddCurrencyMax(ModifierDetailRootType_Simple rootType, int num)
 {
     currencyMaxDetailPac.ValueChange(rootType, num);
     _currencyMax += num;
     if (_currencyMax < 0)
     {
         _currencyMax = 0;
     }
 }
Пример #5
0
 public void AddRoCoreMax(ModifierDetailRootType_Simple rootType, ushort num)
 {
     roCoreMaxDetailPac.ValueChange(rootType, num);
     _roCoreMax += num;
     if (_roCoreMax < 0)
     {
         _roCoreMax = 0;
     }
 }
Пример #6
0
 public void AddAIRobot_Operator_Max(ModifierDetailRootType_Simple rootType, ushort num)
 {
     AIRobot_Operator_Max_DetailPac.ValueChange(rootType, num);
     _AIRobot_Operator_Max += num;
     if (_AIRobot_Operator_Max < 0)
     {
         _AIRobot_Operator_Max = 0;
     }
 }
Пример #7
0
 public void AddEnergyMax(ModifierDetailRootType_Simple rootType, float num)
 {
     energyMaxDetailPac.ValueChange(rootType, num);
     _energyMax += num;
     if (_energyMax < 0)
     {
         _energyMax = 0;
     }
 }
Пример #8
0
 /// <summary>
 /// 更换区域电量分配
 /// </summary>
 /// <param name="changeValue"></param>
 /// <param name="type"></param>
 /// <returns></returns>
 public bool ChangeAreaPowerLevel(short changeValue, ModifierDetailRootType_Simple type)
 {
     if (type == ModifierDetailRootType_Simple.ControlTower)
     {
         if (mainShipInfo.powerAreaInfo.ChangeEnergyLoadValue((short)-changeValue))
         {
             mainShipInfo.controlTowerInfo.ChangePowerLevel(changeValue);
             mainShipInfo.powerAreaInfo.RefreshEnergyLoadDetail(ModifierDetailRootType_Simple.PowerArea, changeValue);
             return(true);
         }
         return(false);
     }
     else if (type == ModifierDetailRootType_Simple.Hangar)
     {
         if (mainShipInfo.powerAreaInfo.ChangeEnergyLoadValue((short)-changeValue))
         {
             mainShipInfo.hangarAreaInfo.ChangePowerLevel(changeValue);
             mainShipInfo.powerAreaInfo.RefreshEnergyLoadDetail(ModifierDetailRootType_Simple.Hangar, changeValue);
             return(true);
         }
         return(false);
     }
     else if (type == ModifierDetailRootType_Simple.LivingArea)
     {
         if (mainShipInfo.powerAreaInfo.ChangeEnergyLoadValue((short)-changeValue))
         {
             mainShipInfo.livingAreaInfo.ChangePowerLevel(changeValue);
             mainShipInfo.powerAreaInfo.RefreshEnergyLoadDetail(ModifierDetailRootType_Simple.LivingArea, changeValue);
             return(true);
         }
         return(false);
     }
     else if (type == ModifierDetailRootType_Simple.WorkingArea)
     {
         if (mainShipInfo.powerAreaInfo.ChangeEnergyLoadValue((short)-changeValue))
         {
             mainShipInfo.workingAreaInfo.ChangePowerLevel(changeValue);
             mainShipInfo.powerAreaInfo.RefreshEnergyLoadDetail(ModifierDetailRootType_Simple.WorkingArea, changeValue);
             return(true);
         }
         return(false);
     }
     return(false);
 }
Пример #9
0
 public void AddRoCore_Max(ModifierDetailRootType_Simple rootType, ushort num)
 {
     playerData.resourceData.AddRoCoreMax(rootType, num);
 }
Пример #10
0
 public void AddAIRobot_Operator_Max(ModifierDetailRootType_Simple rootType, ushort num)
 {
     playerData.resourceData.AddAIRobot_Operator_Max(rootType, num);
 }
Пример #11
0
 public void AddResearch_PerDay(ModifierDetailRootType_Simple rootType, float num)
 {
     playerData.resourceData.AddResearchPerMonth(rootType, num);
     UIManager.Instance.SendMessage(new UIMessage(UIMsgType.Res_DailyResearch));
 }
Пример #12
0
 public void AddResearch_Max(ModifierDetailRootType_Simple rootType, float num)
 {
     playerData.resourceData.AddResearchMax(rootType, num);
 }
Пример #13
0
 public void AddEnergy_Max(ModifierDetailRootType_Simple rootType, float num)
 {
     playerData.resourceData.AddEnergyMax(rootType, num);
 }
Пример #14
0
 public void AddEnergyPerDay(ModifierDetailRootType_Simple rootType, float num, bool CoverData)
 {
     energyPerDayDetailPac.ValueChange(rootType, num, CoverData);
 }
Пример #15
0
 public void AddResearchPerMonth(ModifierDetailRootType_Simple rootType, float num)
 {
     researchPerDayDetailPac.ValueChange(rootType, num);
     _researchPerDay += num;
 }
Пример #16
0
 public void AddCurrency_Max(ModifierDetailRootType_Simple rootType, int num)
 {
     playerData.resourceData.AddCurrencyMax(rootType, num);
 }
Пример #17
0
 public void AddCurrency_PerDay(ModifierDetailRootType_Simple rootType, int num)
 {
     playerData.resourceData.AddCurrencyPerDay(rootType, num);
     UIManager.Instance.SendMessage(new UIMessage(UIMsgType.Res_DailyCurrency));
 }
Пример #18
0
 public ModifierDetailItem_Simple(ModifierDetailRootType_Simple rootType, float value)
 {
     this.rootType = rootType;
     this.value    = value;
 }
Пример #19
0
 public void AddEnergy_PerDay(ModifierDetailRootType_Simple rootType, float num, bool CoverData)
 {
     playerData.resourceData.AddEnergyPerDay(rootType, num, CoverData);
     UIManager.Instance.SendMessage(new UIMessage(UIMsgType.Res_DailyEnergy));
 }
Пример #20
0
 public void AddCurrencyPerDay(ModifierDetailRootType_Simple rootType, int num)
 {
     currencyPerDayDetailPac.ValueChange(rootType, num);
     _currencyPerDay += num;
 }