Пример #1
0
 public void OnPlantRipeAtOnce(stImmediRipeHomeUserCmd_CS cmd)
 {
     PlantFastRipeNum = (uint)cmd.fast_ripe;
     AddPlantAndAnimalRemainTime((int)cmd.land_id, 0);
     SetPlantAndAnimalEntityState((int)cmd.land_id, (int)CreatureSmallState.CanGain, EntityType.EntityType_Plant);
     SetPlantAndAnimalEntityState((int)cmd.land_id, (int)LandState.CanGain, EntityType.EntityType_Soil);
     TipsManager.Instance.ShowTipsById(114501);
     RefreshLandUI();
 }
Пример #2
0
    void OnClickPlant(HomeEntityInfo info)
    {
        uint index = (uint)info.index;

        if (info.state != (int)CreatureSmallState.CanGain && info.state != (int)CreatureSmallState.None)
        {
            uint seedID = 0;
            if (seedIndexDic.TryGetValue(index, out seedID))
            {
                SeedAndCubDataBase sdb = GameTableManager.Instance.GetTableItem <SeedAndCubDataBase>(seedID);
                if (sdb != null && sdb.type == 0)
                {
                    uint leftTime = 0;
                    if (plantAndAnimalRemainTimeDic.TryGetValue((int)index, out leftTime))
                    {
                        Double c = (double)leftTime / sdb.growUnitTime;
                        c = c * sdb.growUnitCostCoupons;
                        IncreaseDataBase idb = GameTableManager.Instance.GetTableItem <IncreaseDataBase>(1, (int)PlantFastRipeNum);
                        int count            = 0;
                        if (idb != null)
                        {
                            count = (int)Math.Ceiling(c * idb.increase);
                        }
                        Engine.Utility.Log.LogGroup("LC", "剩余时间:" + leftTime.ToString()
                                                    + "    立即成熟单位时长:" + sdb.growUnitTime
                                                    + "    基础单位费用:" + sdb.growUnitCostCoupons
                                                    + "    使用次数:" + PlantFastRipeNum
                                                    + "    涨  幅:" + idb.increase.ToString()
                                                    + "    元宝数:" + count.ToString());
                        if (HasEnoughDianJuan(count))
                        {
                            string tips = DataManager.Manager <TextManager>().GetLocalFormatText(114533, count);
                            TipsManager.Instance.ShowTipWindow(TipWindowType.CancelOk, tips, () =>
                            {
                                stImmediRipeHomeUserCmd_CS cmd = new stImmediRipeHomeUserCmd_CS();
                                cmd.land_id = index;
                                NetService.Instance.Send(cmd);
                                info.state = (int)CreatureSmallState.CanGain;
                            });
                        }
                        else
                        {
                            TipsManager.Instance.ShowTips("目前还没有通用充值界面,此处后期再做处理");
                        }
                    }
                }
            }
        }
        else if (info.state == (int)CreatureSmallState.CanGain)
        {
            this.GainOnePlant(info.index);
        }
    }
Пример #3
0
 public void OnPlantRipeAtOnce(stImmediRipeHomeUserCmd_CS cmd)
 {
     DataManager.Manager <HomeDataManager>().OnPlantRipeAtOnce(cmd);
 }