/// <summary> /// Adds a partyMember to the list of partyMembers using saved data /// </summary> /// <param name="className"> Class of the partyMember to be added </param> public void AddPartyMember(PartyMemberData pmData) { if (GetNumPartyMembers() < maxPartyMembers) { GameObject newMember = Instantiate(partyMember, new Vector3(0f, 0f, 0f), Quaternion.identity); PartyMember pmComponent = newMember.GetComponent <PartyMember>(); pmComponent.Init(pmData); newMember.transform.SetParent(gameObject.transform, false); pmComponent.ID = (ID++); pmComponent.GenerateName(GetNumPartyMembers()); if (pmComponent.CHP == 0) { partyMembersDead.Add(pmComponent); } else { partyMembersAlive.Add(pmComponent); } partyMembersAll.Add(pmComponent); } if (partyMembersAlive.Count == 0) // in the event on loading, first partyMember is dead { activePartyMember = partyMembersAll[0]; } else { activePartyMember = GetFirstPartyMemberAlive(); } }
/// <summary> /// Returns partyMember data for saving /// </summary> /// <returns></returns> public PartyMemberData[] GetPartyMemberDatas() { PartyMemberData[] partyMemberDatas; partyMemberDatas = new PartyMemberData[partyMembersAll.Count]; for (int i = 0; i < partyMemberDatas.Length; i++) { partyMemberDatas[i] = new PartyMemberData(partyMembersAll[i]); } return(partyMemberDatas); }