static public bool getNextMinimapStaticIcon(int nMapID, int nFromIndex, ref SMinimapStaticIcon data) { IntPtr ptr = _getNextMinimapStaticIcon(nMapID, nFromIndex); if ((int)ptr == 0) { //Trace.LogError("getNextMinimapStaticIcon mapID=" + nMapID + " nFromIndex=" + nFromIndex); return(false); } data = IntPtrHelper.toData <SMinimapStaticIcon>(ptr); return(true); }
static public bool getMinimapStaticObjInfo(int nMapID, int nIndex, ref SMinimapStaticIcon data) { IntPtr ptr = _getMinimapStaticObjInfo(nMapID, nIndex); if ((int)ptr == 0) { Trace.LogWarning("getMinimapStaticObjInfo mapID=" + nMapID + " nIndex=" + nIndex); return(false); } data = IntPtrHelper.toData <SMinimapStaticIcon>(ptr); return(true); }
public void CreateStaticObj(int objIndex) { SMinimapStaticIcon data = new SMinimapStaticIcon(); // 读静态打点配置 if (GameLogicAPI.getMinimapStaticObjInfo(this.mMapID, objIndex, ref data) == false) { Trace.LogError("CreateStaticObj(" + objIndex + "), mapID=" + this.mMapID + " failed"); return; } MyInvokeQ._Invoke("CreateStaticObj", objIndex, data.szName, data.szIconName, data.nX, data.nZ, data.szTipStr, data.nTipBgColor); }
// 创建野怪(静态打点)倒计时 public void CreateCountDown(int objIndex, int countDown) { SMinimapStaticIcon data = new SMinimapStaticIcon(); // 读静态打点配置 if (GameLogicAPI.getMinimapStaticObjInfo(this.mMapID, objIndex, ref data) == false) { return; } double fcountDown = countDown; //fcountDown = fcountDown / 1000; MyInvokeQ._Invoke("CreateCountDown", objIndex, data.nX, data.nZ, System.Math.Ceiling(fcountDown)); }
public void Init(int nMapID) { mMapID = nMapID; // 获取小地图信息 SMinimapInfo sInfo = new SMinimapInfo(); if (GameLogicAPI.getMinimapInfo(this.mMapID, ref sInfo) == false) { Trace.LogError("OnRegisterMinimap failed, !GameLogicAPI.getMinimapInfo"); return; } // AS初始化小地图--优先级最高 MyInvokeQ._Invoke("MinimapInit", sInfo.szDarkBg, sInfo.szLightBg, sInfo.szBaseMap, sInfo.fLeft, sInfo.fRight, sInfo.fTop, sInfo.fBottom); SceneRect = new Rect(sInfo.fLeft, sInfo.fTop, Math.Abs(sInfo.fRight - sInfo.fLeft), Math.Abs(sInfo.fBottom - sInfo.fTop)); // 创建静态打点 SMinimapStaticIcon staticIcon = new SMinimapStaticIcon(); int nFromIndex = -1; while (GameLogicAPI.getNextMinimapStaticIcon(this.mMapID, nFromIndex, ref staticIcon) == true) { if (staticIcon.nAutoCreate != 0) { CreateStaticObj(staticIcon.nIndex); } nFromIndex = staticIcon.nIndex; } // 旋转小地图 if (this.mMapID != -1 && this.mainHeroCamp != -1) { int nDefalutAngel, nXOffset, nYOffset = 0; GetDefaultRotateInfo(mainHeroCamp, out nDefalutAngel, out nXOffset, out nYOffset); MyInvokeQ._Invoke("RotateMinimap", nDefalutAngel, nXOffset, nYOffset); } }