/// <summary> /// 发送EntityEvent命令到逻辑层 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="entity_id"></param> /// <param name="event_id"></param> /// <param name="nParam">附加参数(整数)</param> /// <param name="strParam">附加参数(字符串)</param> public void SendCommand(int entity_id, GameLogic.EntityLogicDef event_id, int nParam = 0, string strParam = "") { if (entity_id == 0) { return; } GameLogicAPI.onEntityEvent(entity_id, (int)event_id, nParam, strParam, IntPtr.Zero, 0); }
/// <summary> /// 发送EntityEvent命令到逻辑层 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="entity_id"></param> /// <param name="event_id"></param> /// <param name="data"></param> public void SendCommand <T>(int entity_id, GameLogic.EntityLogicDef event_id, ref T data) where T : struct { if (entity_id == 0) { return; } IntPtrHelper helper = new IntPtrHelper(); int data_len = System.Runtime.InteropServices.Marshal.SizeOf(data); IntPtr ptr = helper.toPtr <T>(ref data); GameLogicAPI.onEntityEvent(entity_id, (int)event_id, data_len, "", ptr, data_len); }