public void AddNewFollower(CharacterClass newClass) { FollowerEntry newFollower = new FollowerEntry(); // Get SaveableEntity component on Manager in order to generate UUID SaveableEntity saveable = GetComponent <SaveableEntity>(); int followerCount = followers.Count; newFollower.position = (activeFollowerIndex >= 0) ? FollowerPosition.Home : FollowerPosition.Combat; newFollower.followerClass = newClass; newFollower.name = "Test NPC " + followerCount.ToString(); newFollower.identifier = saveable.GenerateNewUniqueIdentifier(""); followers.Add(newFollower); if (newFollower.position == FollowerPosition.Combat) { RegisterActiveFollower(newFollower); } else { RegisterBackgroundFollower(newFollower); } // FollowerSaveables is reference list to spawned NPCs NPCInfo info = followerSaveables[followerCount].GetComponent <NPCInfo>(); info.SetCharacterInfo("name", newFollower.name); info.SetCharacterInfo("rank", "Rank E"); }
private void RegisterActiveFollower(FollowerEntry newActiveFollower) { activeFollowerIndex = followers.Count - 1; followerSaveables.Add(followerSpawner.SpawnActiveFollower(newActiveFollower.followerClass, newActiveFollower.identifier)); followerEquipToggle.SetActive(true); followerChangeEvent.RaiseEvent(); }
private void RegisterBackgroundFollower(FollowerEntry newFollower) { followerSaveables.Add(followerSpawner.SpawnBackgroundFollower(newFollower.followerClass, newFollower.identifier)); }