// 处理消息 public void DealWithSocketData(ReceiveMsg msgData) { // lua 处理协议 SLua.LuaFunction func = LuaGameManager.Instance().GetState().getFunction("OnProtobufCallBack"); if (func != null) { func.call(msgData.data.handleId, new SLua.ByteArray(msgData.data.data)); } }
static public LuaGameManager Instance() { if (_instance == null) { _instance = new LuaGameManager(); } return(_instance); }
// 初始话方法 public static void Init() { ShaderManager.Instance().Init(); GUIManager.Instance().Init(); SoundManager.Instance().Init(); LuaGameManager.Instance().InitAllManager(); inited = true; }
// CS 向Lua发送事件 public static void PostLuaEvent(string eventName, params object[] args) { if (!LuaGameManager.Instance().CheckAvailable()) { return; } SLua.LuaFunction func = LuaGameManager.Instance().GetState().getFunction("OnHandleEventFromCS"); if (func != null) { func.call(eventName, args); } }
void Update() { #if UNITY_EDITOR if (!LuaGameManager.Instance().CheckAvailable()) { return; } if (Input.GetMouseButtonDown(0)) { LuaFunction func = LuaGameManager.Instance().GetState().getFunction("HandleTouchDown"); if (func != null) { func.call(Input.mousePosition.x, Input.mousePosition.y); } } if (Input.GetMouseButton(0)) { LuaFunction func = LuaGameManager.Instance().GetState().getFunction("HandleTouchMove"); if (func != null) { func.call(Input.mousePosition.x, Input.mousePosition.y); } } if (Input.GetMouseButtonUp(0)) { LuaFunction func = LuaGameManager.Instance().GetState().getFunction("HandleTouchUp"); if (func != null) { func.call(Input.mousePosition.x, Input.mousePosition.y); } } #elif (UNITY_ANDROID || (UNITY_IOS || UNITY_IPHONE)) if (Input.touchCount > 0) { Vector2 touchPosition = Input.GetTouch(0).position; if (Input.GetTouch(0).phase == TouchPhase.Began) { LuaFunction func = LuaGameManager.Instance().GetState().getFunction("HandleTouchDown"); if (func != null) { func.call(touchPosition.x, touchPosition.y); } } else if (Input.GetTouch(0).phase == TouchPhase.Moved) { LuaFunction func = LuaGameManager.Instance().GetState().getFunction("HandleTouchMove"); if (func != null) { func.call(touchPosition.x, touchPosition.y); } } else if (Input.GetTouch(0).phase == TouchPhase.Ended) { LuaFunction func = LuaGameManager.Instance().GetState().getFunction("HandleTouchUp"); if (func != null) { func.call(touchPosition.x, touchPosition.y); } } } #endif }