Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
 private void RegisterActiveFollower(FollowerEntry newActiveFollower)
 {
     activeFollowerIndex = followers.Count - 1;
     followerSaveables.Add(followerSpawner.SpawnActiveFollower(newActiveFollower.followerClass, newActiveFollower.identifier));
     followerEquipToggle.SetActive(true);
     followerChangeEvent.RaiseEvent();
 }
Exemplo n.º 3
0
 private void RegisterBackgroundFollower(FollowerEntry newFollower)
 {
     followerSaveables.Add(followerSpawner.SpawnBackgroundFollower(newFollower.followerClass, newFollower.identifier));
 }