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)); } }
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); } }
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); }
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); } }