public int GetWorkAbility(ArchitectureWorkKind workKind) { switch (workKind) { case ArchitectureWorkKind.无: return 0; case ArchitectureWorkKind.赈灾 : return this.zhenzaiAbility; case ArchitectureWorkKind.农业: return this.AgricultureAbility; case ArchitectureWorkKind.商业: return this.CommerceAbility; case ArchitectureWorkKind.技术: return this.TechnologyAbility; case ArchitectureWorkKind.统治: return this.DominationAbility; case ArchitectureWorkKind.民心: return this.MoraleAbility; case ArchitectureWorkKind.耐久: return this.EnduranceAbility; case ArchitectureWorkKind.训练: return this.TrainingAbility; } return 0; }
//大概是选择在冒泡小窗口说话的人 public Person GetExtremePersonFromWorkingList(ArchitectureWorkKind workKind, bool highest) { PersonList agricultureWorkingPersons = null; int num2; int num3; int workAbility; switch (workKind) { case ArchitectureWorkKind.赈灾: agricultureWorkingPersons = this.ZhenzaiWorkingPersons; break; case ArchitectureWorkKind.训练: agricultureWorkingPersons = this.TrainingWorkingPersons; break; case ArchitectureWorkKind.农业: agricultureWorkingPersons = this.AgricultureWorkingPersons; break; case ArchitectureWorkKind.商业: agricultureWorkingPersons = this.CommerceWorkingPersons; break; case ArchitectureWorkKind.技术: agricultureWorkingPersons = this.TechnologyWorkingPersons; break; case ArchitectureWorkKind.统治: agricultureWorkingPersons = this.DominationWorkingPersons; break; case ArchitectureWorkKind.民心: agricultureWorkingPersons = this.MoraleWorkingPersons; break; case ArchitectureWorkKind.耐久: agricultureWorkingPersons = this.EnduranceWorkingPersons; break; default: return null; } if (agricultureWorkingPersons.Count == 0) { return null; } if (agricultureWorkingPersons.Count == 1) { return (agricultureWorkingPersons[0] as Person); } if (highest) { int num = 0; num2 = 0; for (num3 = 0; num3 < agricultureWorkingPersons.Count; num3++) { workAbility = (agricultureWorkingPersons[num3] as Person).GetWorkAbility(workKind); if (workAbility > num) { num = workAbility; num2 = num3; } } return (agricultureWorkingPersons[num2] as Person); } int num5 = 0x7fffffff; num2 = 0; for (num3 = 0; num3 < agricultureWorkingPersons.Count; num3++) { workAbility = (agricultureWorkingPersons[num3] as Person).GetWorkAbility(workKind); if (workAbility < num5) { num5 = workAbility; num2 = num3; } } return (agricultureWorkingPersons[num2] as Person); }
public WorkRate(float r, ArchitectureWorkKind k) { this.rate = r; this.workKind = k; }
private void assignWork(Person p, ArchitectureWorkKind k, bool[] need, bool needOnlyOneDomination, bool needOnlyOneMorale, bool needOnlyOneTrain) { switch (k) { case ArchitectureWorkKind.农业: if (need[0]) p.WorkKind = ArchitectureWorkKind.农业; else p.WorkKind = ArchitectureWorkKind.无; break; case ArchitectureWorkKind.商业: if (need[1]) p.WorkKind = ArchitectureWorkKind.商业; else p.WorkKind = ArchitectureWorkKind.无; break; case ArchitectureWorkKind.技术: if (need[2]) p.WorkKind = ArchitectureWorkKind.技术; else p.WorkKind = ArchitectureWorkKind.无; break; case ArchitectureWorkKind.统治: if (need[3]) { p.WorkKind = ArchitectureWorkKind.统治; if (needOnlyOneDomination) // 因为补充导致的统治下降1或2点时,只需要选择1个武将进行统治就足够了 need[3] = false; } else p.WorkKind = ArchitectureWorkKind.无; break; case ArchitectureWorkKind.民心: if (need[4]) { p.WorkKind = ArchitectureWorkKind.民心; if (needOnlyOneMorale) // 因为补充导致的民心下降1或2点时,只需要选择1个武将进行民心就足够了 need[4] = false; } else p.WorkKind = ArchitectureWorkKind.无; break; case ArchitectureWorkKind.耐久: if (need[5]) p.WorkKind = ArchitectureWorkKind.耐久; else p.WorkKind = ArchitectureWorkKind.无; break; case ArchitectureWorkKind.训练: if (need[6]) { p.WorkKind = ArchitectureWorkKind.训练; if (needOnlyOneTrain) // 因为补充导致的士气或战意下降1或2点时,只需要选择1个武将进行训练就足够了 need[6] = false; } else p.WorkKind = ArchitectureWorkKind.无; break; default: p.WorkKind = ArchitectureWorkKind.无; break; } }
public void AddPersonToWorkingList(Person person, ArchitectureWorkKind workKind) { switch (workKind) { case ArchitectureWorkKind.赈灾 : this.AddPersonTozhenzaiWorkingList(person); break; case ArchitectureWorkKind.农业: this.AddPersonToAgricultureWorkingList(person); break; case ArchitectureWorkKind.商业: this.AddPersonToCommerceWorkingList(person); break; case ArchitectureWorkKind.技术: this.AddPersonToTechnologyWorkingList(person); break; case ArchitectureWorkKind.统治: this.AddPersonToDominationWorkingList(person); break; case ArchitectureWorkKind.民心: this.AddPersonToMoraleWorkingList(person); break; case ArchitectureWorkKind.耐久: this.AddPersonToEnduranceWorkingList(person); break; } }
public void resetPreferredWorkkind(bool[] need) { this.firstPreferred = ArchitectureWorkKind.无; int firstAbility = 0; int agricultureAbility = (need[0] ? this.AgricultureAbility : -2); int commerceAbility = (need[1] ? this.CommerceAbility : -2); int technologyAbility = (need[2] ? this.TechnologyAbility : -2); int dominationAbility = (need[3] ? this.DominationAbility : -2); int moraleAbility = (need[4] ? this.MoraleAbility : -2); int enduranceAbility = (need[5] ? this.EnduranceAbility : -2); int trainingAbility = (need[6] ? this.TrainingAbility : -2); if (agricultureAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.农业; firstAbility = agricultureAbility; } if (commerceAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.商业; firstAbility = commerceAbility; } if (technologyAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.技术; firstAbility = technologyAbility; } if (dominationAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.统治; firstAbility = dominationAbility; } if (moraleAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.民心; firstAbility = moraleAbility; } if (enduranceAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.耐久; firstAbility = enduranceAbility; } if (trainingAbility > firstAbility) { this.firstPreferred = ArchitectureWorkKind.训练; firstAbility = trainingAbility; } }