zealot180 发表于 2018-9-28 23:39

<========= 再也不用为了调员工工资发愁了===========>

本帖最后由 zealot180 于 2018-9-29 00:50 编辑

看本贴前请参考http://bbs.3dmgame.com/thread-5782890-1-1.html

先找到这个类InboxStaffPromotionContentsData

修改Setup方法如下
    public void Setup(NotificationStaffPromotion message)
      {
            this._message = message;
            this._messageText.text = message.GetMessageText().Replace("\\n", "\n");
            Staff staff = message.Staff;
            StaffRank staffRank = staff.Definition._rank;
            string translation = staff.RankDefinition.GetTitleLocalised(staff.Gender).Translation;
            string translation2 = staffRank.GetTitleLocalised(staff.Gender).Translation;
            string benefitsText = StaffRank.GetBenefitsText(staff.RankDefinition, staffRank);
            this._promotionText.text = LocalisedString.Replace(ScriptLocalization.Notification.StaffPromotion_Benefits_CS, new SubPair[]
            {
                new SubPair("{}", translation),
                new SubPair("{}", translation2),
                new SubPair("{}", benefitsText)
            });
            this._currentSalary = staff.GetSalary();
            this._desiredSalary = GameAlgorithms.CalculateDesiredSalary(staff.Definition, staff.Rank + 1, 0f, staff.Qualifications, staff.Traits, staff.SalaryPremiumMultiplier);
            this._desiredSalary = Mathf.Max(this._desiredSalary, this._currentSalary);
            this._desiredSalary = (int)(staffRank.SalaryMin * 0.9f) + 100;
            int num = (int)((float)this._desiredSalary * (1f + GameAlgorithms.Config.MaxDesiredSalary));
            this._paySlider.minValue = (float)this._currentSalary;
            this._paySlider.maxValue = (float)num;
            this._paySlider.value = (float)this._desiredSalary;
            this._paySlider.onValueChanged.AddListener(new UnityAction<float>(this.PaySliderChanged));
            this.PaySliderChanged((float)this._desiredSalary);
      }


这个是升级员工时弹出的那个框框
标红的句子是新回的.直接把滑块定到一个员工刚好可以接受的价。省去手动调那个滑块。
ps:如果一个员工你之前加的工资比较高,将不适用.比如一个2级助手最低工资是6000最高是7000.给他5400他也不会抱怨。但是你在2级时给了他7000.那到升3级时他就会比别的员工要的多.
就是不适用于惯坏了的员工


ps2:
员工随着经验增加会要价高一点。如果不想一直调
this._desiredSalary = (int)(staffRank.SalaryMin * 0.9f) + 100;
这一句换成
this._desiredSalary = (int)(staffRank.SalaryMin);


tgg035220 发表于 2018-9-29 03:40

所以連貫都不貫 直接改薪資滿意度都綠臉 一直領最低薪資

asasasddd 发表于 2018-10-19 23:45

感谢楼主,简单易懂,一次成功。
页: [1]
查看完整版本: <========= 再也不用为了调员工工资发愁了===========>