void OnSetBtn() { if (!m_Cancel) {// add/replace follower if (HandlePerson != null) { if (m_Replace) { // follower if (PeGameMgr.IsMulti) { if (m_CurNpc != null) { ServantLeaderCmpt masterCmpt = PeCreature.Instance.mainPlayer.GetCmpt <ServantLeaderCmpt>(); NpcCmpt npcCmpt = m_CurNpc.GetComponent <NpcCmpt>(); if (masterCmpt == npcCmpt.Master) { if (null != PlayerNetwork.mainPlayer) { PlayerNetwork.RequestDismissNpc(m_CurNpc.Id); PlayerNetwork.RequestNpcRecruit(HandlePerson.ID); } } else { //--to do: log } } } else { if (m_CurNpc != null) { m_CurNpc.SetFollower(false); } HandlePerson.FollowMe(m_HeroIndex); } } else { //check if can add person if (PeGameMgr.IsMulti) { if (null != PlayerNetwork.mainPlayer) { PlayerNetwork.RequestNpcRecruit(HandlePerson.ID); } } else { HandlePerson.FollowMe(m_HeroIndex); } } } } else {// remove follower if (m_CurNpc != null) { if (PeGameMgr.IsMulti) { if (null != PlayerNetwork.mainPlayer) { PlayerNetwork.RequestDismissNpc(m_CurNpc.Id); } } else { m_CurNpc.SetFollower(false); } } } }
void SetActiveNpcFollow() { m_ActiveNpc.FollowMe(true); }