11 public List<Chara> members
15 if (this._members !=
null)
19 return this.SetMembers();
30 return this.refLeader.GetAndCache(this.uidLeader);
34 this.refLeader.Set(ref this.uidLeader, value);
39 public List<Chara> SetMembers()
41 this._members =
new List<Chara>();
42 foreach (
int uid
in this.uidMembers)
50 public void AddMemeber(
Chara c)
58 Debug.LogError(
"exception: " + ((c !=
null) ? c.ToString() :
null) +
" is not global chara");
61 this.uidMembers.Add(c.uid);
65 if (c.homeBranch !=
null)
67 c.RefreshWorkElements(c.homeBranch.elements);
68 c.homeBranch.policies.Validate();
69 if (c.homeBranch.owner.map !=
null)
71 c.homeBranch.owner.map.props.sales.Remove(c);
78 public void RemoveMember(
Chara c)
82 ActRide.Unride(c.host, c.host.parasite == c);
84 this.members.Remove(c);
85 this.uidMembers.Remove(c.uid);
88 c.RefreshWorkElements(
null);
93 public void SetLeader(
Chara c)
99 public Element GetPartySkill(
int ele)
101 return this.GetBestSkill(ele);
105 public void ModExpPartySkill(
int ele,
int a)
110 public Element GetBestSkill(
int ele)
113 foreach (
Chara chara
in this.members)
115 if (chara.IsAliveInCurrentZone && chara.Evalue(ele) > element.Value)
117 element = chara.elements.GetElement(ele);
124 public bool IsCriticallyWounded(
bool includePc =
false)
126 foreach (
Chara chara
in this.members)
128 if ((!includePc || !chara.IsPC) && chara.IsCriticallyWounded(
false))
137 public int EValue(
int ele)
140 foreach (
Chara chara
in this.members)
142 if (chara.Evalue(ele) > num)
144 num = chara.Evalue(ele);
151 public bool HasElement(
int ele)
153 using (List<Chara>.Enumerator enumerator = this.members.GetEnumerator())
155 while (enumerator.MoveNext())
157 if (enumerator.Current.HasElement(ele, 1))
170 using (List<Chara>.Enumerator enumerator = this.members.GetEnumerator())
172 while (enumerator.MoveNext())
174 if (!enumerator.Current.isDead)
185 public int uidLeader;
189 public List<int> uidMembers =
new List<int>();
192 public List<Chara> _members;