Exemplo n.º 1
0
        public static void GotoCollectObj(int collectObjID, bool bCarry = false)
        {
            KCollectMissionInfo info = KConfigFileManager.GetInstance().GetCollectInfo(collectObjID);

            if (info != null)
            {
                if (info.strPosition != null && info.strPosition != "0")
                {
                    string[] pos = info.strPosition.Split(';');

                    if (pos.Length != 0)
                    {
                        string[] posTemp = pos[0].Split(':');
                        if (posTemp.Length == 3)
                        {
                            if (bCarry)
                            {
                                Carry(info.nSceneID, new Vector3(int.Parse(posTemp[0]), int.Parse(posTemp[1]), int.Parse(posTemp[2])));
                            }
                            else
                            {
                                Vector3 vecPosition = MapUtils.GetMetreFromInt(int.Parse(posTemp[0]), int.Parse(posTemp[2]), int.Parse(posTemp[1]));
                                Goto(info.nSceneID, vecPosition);
                            }

                            CollectObjLogic.GetInstance().m_bAutoCollect = true;
                        }
                    }
                }
            }
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 3
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);
            }
        }