public NPCDefine GetNpcDefine(int npcID)
        {
            NPCDefine npc = null;

            DataManager.Instance.NPCs.TryGetValue(npcID, out npc);
            return(npc);
        }
Example #2
0
        private bool OnNpcInvokeInsrance(NPCDefine nPCDefine)
        {
            Debug.LogFormat("TestManager.OnNpcInvokeInsrance:npc:[{0}:{1}],type:{2},func:{3}", nPCDefine.ID, nPCDefine.Name, nPCDefine.Type, nPCDefine.Function);
            UITest test = UIManager.Instance.Show <UITest>();

            return(true);
        }
Example #3
0
        public NPCDefine GetDefine(int id)
        {
            NPCDefine define = null;

            Managers.DataManager.Instance.NPCs.TryGetValue(id, out define);

            return(define);
        }
        /// <summary>
        /// 任务交互
        /// </summary>
        /// <param name="nPCDefine"></param>
        /// <returns></returns>
        public bool DoTaskInteractive(NPCDefine nPCDefine)
        {
            var status = QuestManager.Instance.GetQuestStatusByNpc(nPCDefine.ID);

            if (status == NpcQuestStatus.None)
            {
                return(false);
            }
            return(QuestManager.Instance.OpenNpcQuest(nPCDefine.ID));
        }
Example #5
0
 // Use this for initialization
 void Start()
 {
     animator   = GetComponent <Animator>();
     npc        = NPCManager.Instance.GetNpcDefine(npcID);
     renderer   = GetComponentInChildren <SkinnedMeshRenderer>();
     orignColor = renderer.sharedMaterial.color;
     this.StartCoroutine(Actions());
     startForward = this.transform.forward;
     RefreshNpcStatus();
     QuestManager.Instance.onQuestStatusChange += OnQuestStatusChange;
 }
 public bool DoFuctionInteractive(NPCDefine nPCDefine)
 {
     if (nPCDefine.Type != NpcType.Functional)
     {
         return(false);
     }
     if (!eventMap.ContainsKey(nPCDefine.Function))
     {
         return(false);
     }
     return(eventMap[nPCDefine.Function].Invoke(nPCDefine));
 }
 //交互
 public bool Interactive(NPCDefine nPCDefine)
 {
     if (DoTaskInteractive(nPCDefine))
     {
         return(true);
     }
     if (nPCDefine.Type == NpcType.Functional)
     {
         return(DoFuctionInteractive(nPCDefine));
     }
     return(false);
 }
 public bool Interactive(int npcID)
 {
     if (DataManager.Instance.NPCs.ContainsKey(npcID))
     {
         NPCDefine npc = GetNpcDefine(npcID);
         return(Interactive(npc));
     }
     else
     {
         return(false);
     }
 }
Example #9
0
        public bool TryNpcResponse(int id)
        {
            NPCDefine define = null;

            if (!Managers.DataManager.Instance.NPCs.TryGetValue(id, out define))
            {
                return(false);
            }
            NPCHandle handle = null;

            if (!eventMap.TryGetValue(define.Type, out handle))
            {
                return(false);
            }
            if (handle == null)
            {
                return(false);
            }

            return(handle(define));
        }
Example #10
0
 private bool OnTaskHandle(NPCDefine define)
 {
     UiManager.Instance.Show <TestUi>(define.Name);
     return(true);
 }
Example #11
0
 private bool OnNpcInvokeShop(NPCDefine nPCDefine)
 {
     Debug.LogFormat("TestManager.OnNpcInvokeShop:npc:[{0}:{1}],type:{2},func:{3}", nPCDefine.ID, nPCDefine.Name, nPCDefine.Type, nPCDefine.Function);
     MessageBox.Show("点击" + nPCDefine.Name, "noc对话");
     return(true);
 }
 private bool OnOpenShop(NPCDefine nPCDefine)
 {
     ShowShop(nPCDefine.Param);
     return(true);
 }
Example #13
0
 void Start()
 {
     ani = GetComponent<Animator>();
     Define = NPCManager.Instance.AddNpc(npcID, this);
     StartCoroutine(Action());
 }