/// <summary> /// Adds a partyMember to the list of partyMembers /// </summary> /// <param name="className"> Class of the partyMember to be added </param> public void AddPartyMember(string className) { if (GameManager.instance.gsDataCurrent.tutorialTriggers[(int)TutorialConstants.tutorialTriggers.isTutorial] == true && GetNumPartyMembers() == 1 && shouldStore == true) // if in tutorial, the second partyMember joins later { storedPartyMember = className; shouldStore = false; } else if (GetNumPartyMembers() < maxPartyMembers) { GameObject newMember = Instantiate(partyMember, new Vector3(0f, 0f, 0f), Quaternion.identity); PartyMember pmComponent = newMember.GetComponent <PartyMember>(); GameManager.instance.DB.GetPartyMemberByClass(className, newMember.GetComponent <PartyMember>()); newMember.transform.SetParent(gameObject.transform, false); pmComponent.ID = (ID++); pmComponent.GenerateName(GetNumPartyMembers()); if (GameManager.instance.gsDataCurrent.tutorialTriggers[(int)TutorialConstants.tutorialTriggers.isTutorial] == true) { pmComponent.LVLDown(); } partyMembersAlive.Add(pmComponent); partyMembersAll.Add(pmComponent); } activePartyMember = GetFirstPartyMemberAlive(); }
/// <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(); } }