Exemple #1
0
        public static void CarryToNPC(int npcID)
        {
            KNpcPos npcPos = NpcLogic.GetInstance().GetNpcPosByID(npcID);

            if (npcPos != null)
            {
                Carry(npcPos.MapID, new Vector3(npcPos.nPathX, npcPos.nPathY, npcPos.nPathZ));
            }
        }
Exemple #2
0
        public static void FindNpc(int npcID)
        {
            KNpcPos npcPos = NpcLogic.GetInstance().GetNpcPosByID(npcID);

            if (npcPos != null)
            {
                Vector3 rolePosition = MapUtils.GetMetreFromInt(npcPos.nPathX, npcPos.nPathZ, npcPos.nPathY);
                Goto(npcPos.MapID, rolePosition);

                KHeroSetting npcInfo = NpcLogic.GetInstance().GetNpcLocalInfo(npcID);
                if (null != npcInfo && npcInfo.HeroType == Assets.Scripts.Define.KHeroObjectType.hotMonster)
                {
                    NPC_ID      = npcID;
                    bAutoAttack = true;
                }
                //SceneLogic.GetInstance().MainHero.property.CmdAutoAttack = (npcInfo.HeroType == Assets.Scripts.Define.KHeroObjectType.hotMonster);
            }
        }
Exemple #3
0
        public bool CheckNpcNearby(int npcID, int allowDis)
        {
            KNpcPos pos = GetNpcPosByID(npcID);

            if (pos != null)
            {
                if (pos.MapID != SceneLogic.GetInstance().mapId)
                {
                    return(false);
                }

                float dis = Vector3.Distance(new Vector3(pos.nX / 100, pos.nZ / 100, pos.nY / 100), SceneLogic.GetInstance().MainHero.Position);
                if (dis <= allowDis)
                {
                    return(true);
                }
            }
            return(false);
        }
Exemple #4
0
        public static void FindNpcAndOpen(int npcID)
        {
            if (NpcLogic.GetInstance().CheckNpcNearby(npcID) == true)
            {
                EventDispatcher.GameWorld.Dispath(ControllerCommand.OPEN_NPC_PANEL_BYID, npcID);
                return;
            }

            KNpcPos npcPos = NpcLogic.GetInstance().GetNpcPosByID(npcID);

            if (npcPos != null)
            {
                NPC_ID = npcID;
                Vector3 rolePosition = MapUtils.GetMetreFromInt(npcPos.nPathX, npcPos.nPathZ, npcPos.nPathY);
                Goto(npcPos.MapID, rolePosition);

                KHeroSetting npcInfo = NpcLogic.GetInstance().GetNpcLocalInfo(npcID);
                if (null != npcInfo)
                {
                    bAutoAttack = (npcInfo.HeroType == Assets.Scripts.Define.KHeroObjectType.hotMonster);
                }
                //SceneLogic.GetInstance().MainHero.property.CmdAutoAttack = (npcInfo.HeroType == Assets.Scripts.Define.KHeroObjectType.hotMonster);
            }
        }