public static void Bind(LuaState L) { float t = Time.realtimeSinceStartup; L.BeginModule(null); TweenUtilsWrap.Register(L); EffectRenderObjManagerWrap.Register(L); EffectRenderObjWrap.Register(L); EffectControllerWrap.Register(L); NodeWrap.Register(L); GlobalDispatcherWrap.Register(L); LayerTagWrap.Register(L); LayersMgrWrap.Register(L); GSpriteWrap.Register(L); UBBParserExtensionWrap.Register(L); BaseWindowWrap.Register(L); CameraControllerWrap.Register(L); LuaBindSceneObjWrap.Register(L); CanYingWrap.Register(L); DrawUtilsWrap.Register(L); EndianWrap.Register(L); NormalCameraControllerWrap.Register(L); MicroPhoneInputWrap.Register(L); PayMgrWrap.Register(L); SdkToIOSWrap.Register(L); DeviceInfoWrap.Register(L); SceneObjTriggerWrap.Register(L); ViewWrap.Register(L); BaseWrap.Register(L); ManagerWrap.Register(L); MonoSingleton_LuaFramework_NetworkManagerWrap.Register(L); MonoSingleton_LayersMgrWrap.Register(L); MonoSingleton_PayMgrWrap.Register(L); MonoSingleton_SdkToIOSWrap.Register(L); L.BeginModule("UnityEngine"); UnityEngine_ComponentWrap.Register(L); UnityEngine_TransformWrap.Register(L); UnityEngine_MaterialWrap.Register(L); UnityEngine_LightWrap.Register(L); UnityEngine_CameraWrap.Register(L); UnityEngine_AudioSourceWrap.Register(L); UnityEngine_BehaviourWrap.Register(L); UnityEngine_MonoBehaviourWrap.Register(L); UnityEngine_GameObjectWrap.Register(L); UnityEngine_TrackedReferenceWrap.Register(L); UnityEngine_ApplicationWrap.Register(L); UnityEngine_PhysicsWrap.Register(L); UnityEngine_ColliderWrap.Register(L); UnityEngine_TimeWrap.Register(L); UnityEngine_TextureWrap.Register(L); UnityEngine_Texture2DWrap.Register(L); UnityEngine_ShaderWrap.Register(L); UnityEngine_RendererWrap.Register(L); UnityEngine_WWWWrap.Register(L); UnityEngine_ScreenWrap.Register(L); UnityEngine_CameraClearFlagsWrap.Register(L); UnityEngine_AudioClipWrap.Register(L); UnityEngine_AssetBundleWrap.Register(L); UnityEngine_ParticleSystemWrap.Register(L); UnityEngine_AsyncOperationWrap.Register(L); UnityEngine_LightTypeWrap.Register(L); UnityEngine_SleepTimeoutWrap.Register(L); UnityEngine_AnimatorWrap.Register(L); UnityEngine_InputWrap.Register(L); UnityEngine_KeyCodeWrap.Register(L); UnityEngine_SkinnedMeshRendererWrap.Register(L); UnityEngine_SpaceWrap.Register(L); UnityEngine_AnimationBlendModeWrap.Register(L); UnityEngine_QueueModeWrap.Register(L); UnityEngine_PlayModeWrap.Register(L); UnityEngine_WrapModeWrap.Register(L); UnityEngine_QualitySettingsWrap.Register(L); UnityEngine_RenderSettingsWrap.Register(L); UnityEngine_ResourcesWrap.Register(L); UnityEngine_RectTransformWrap.Register(L); UnityEngine_Matrix4x4Wrap.Register(L); UnityEngine_PlayerPrefsWrap.Register(L); UnityEngine_ControllerColliderHitWrap.Register(L); UnityEngine_AnimatorStateInfoWrap.Register(L); UnityEngine_NavMeshPathStatusWrap.Register(L); UnityEngine_NavMeshAgentWrap.Register(L); L.BeginModule("Experimental"); L.BeginModule("Director"); UnityEngine_Experimental_Director_DirectorPlayerWrap.Register(L); L.EndModule(); L.EndModule(); L.BeginModule("SceneManagement"); UnityEngine_SceneManagement_LoadSceneModeWrap.Register(L); UnityEngine_SceneManagement_SceneManagerWrap.Register(L); UnityEngine_SceneManagement_SceneWrap.Register(L); L.EndModule(); L.BeginModule("UI"); UnityEngine_UI_TextWrap.Register(L); UnityEngine_UI_RawImageWrap.Register(L); UnityEngine_UI_MaskableGraphicWrap.Register(L); UnityEngine_UI_GraphicWrap.Register(L); L.EndModule(); L.BeginModule("EventSystems"); UnityEngine_EventSystems_UIBehaviourWrap.Register(L); L.EndModule(); L.BeginModule("Events"); L.RegFunction("UnityAction", UnityEngine_Events_UnityAction); L.EndModule(); L.BeginModule("Camera"); L.RegFunction("CameraCallback", UnityEngine_Camera_CameraCallback); L.EndModule(); L.BeginModule("Application"); L.RegFunction("LogCallback", UnityEngine_Application_LogCallback); L.RegFunction("AdvertisingIdentifierCallback", UnityEngine_Application_AdvertisingIdentifierCallback); L.EndModule(); L.BeginModule("AudioClip"); L.RegFunction("PCMReaderCallback", UnityEngine_AudioClip_PCMReaderCallback); L.RegFunction("PCMSetPositionCallback", UnityEngine_AudioClip_PCMSetPositionCallback); L.EndModule(); L.BeginModule("RectTransform"); L.RegFunction("ReapplyDrivenProperties", UnityEngine_RectTransform_ReapplyDrivenProperties); L.EndModule(); L.EndModule(); L.BeginModule("LuaFramework"); LuaFramework_UtilWrap.Register(L); LuaFramework_AppConstWrap.Register(L); LuaFramework_LuaHelperWrap.Register(L); LuaFramework_ByteBufferWrap.Register(L); LuaFramework_LuaBehaviourWrap.Register(L); LuaFramework_GameManagerWrap.Register(L); LuaFramework_LuaManagerWrap.Register(L); LuaFramework_LoaderManagerWrap.Register(L); LuaFramework_SoundManagerWrap.Register(L); LuaFramework_TimerManagerWrap.Register(L); LuaFramework_NetworkManagerWrap.Register(L); LuaFramework_ResourceManagerWrap.Register(L); L.EndModule(); L.BeginModule("FairyGUI"); FairyGUI_EventContextWrap.Register(L); FairyGUI_EventDispatcherWrap.Register(L); FairyGUI_EventListenerWrap.Register(L); FairyGUI_InputEventWrap.Register(L); FairyGUI_DisplayObjectWrap.Register(L); FairyGUI_ContainerWrap.Register(L); FairyGUI_StageWrap.Register(L); FairyGUI_ControllerWrap.Register(L); FairyGUI_GObjectWrap.Register(L); FairyGUI_GGraphWrap.Register(L); FairyGUI_GGroupWrap.Register(L); FairyGUI_GImageWrap.Register(L); FairyGUI_GLoaderWrap.Register(L); FairyGUI_PlayStateWrap.Register(L); FairyGUI_GMovieClipWrap.Register(L); FairyGUI_TextFormatWrap.Register(L); FairyGUI_GTextFieldWrap.Register(L); FairyGUI_GRichTextFieldWrap.Register(L); FairyGUI_GTextInputWrap.Register(L); FairyGUI_GComponentWrap.Register(L); FairyGUI_GListWrap.Register(L); FairyGUI_GRootWrap.Register(L); FairyGUI_GLabelWrap.Register(L); FairyGUI_GButtonWrap.Register(L); FairyGUI_GComboBoxWrap.Register(L); FairyGUI_GProgressBarWrap.Register(L); FairyGUI_GSliderWrap.Register(L); FairyGUI_PopupMenuWrap.Register(L); FairyGUI_ScrollPaneWrap.Register(L); FairyGUI_TransitionWrap.Register(L); FairyGUI_UIPackageWrap.Register(L); FairyGUI_WindowWrap.Register(L); FairyGUI_GObjectPoolWrap.Register(L); FairyGUI_RelationsWrap.Register(L); FairyGUI_RelationTypeWrap.Register(L); FairyGUI_TimersWrap.Register(L); FairyGUI_LuaUIHelperWrap.Register(L); FairyGUI_GLuaComponentWrap.Register(L); FairyGUI_GLuaLabelWrap.Register(L); FairyGUI_GLuaButtonWrap.Register(L); FairyGUI_GLuaProgressBarWrap.Register(L); FairyGUI_GLuaSliderWrap.Register(L); FairyGUI_GLuaComboBoxWrap.Register(L); FairyGUI_LuaWindowWrap.Register(L); FairyGUI_GoWrapperWrap.Register(L); FairyGUI_TreeViewWrap.Register(L); FairyGUI_TreeNodeWrap.Register(L); FairyGUI_PageOptionWrap.Register(L); FairyGUI_UIPanelWrap.Register(L); FairyGUI_UIPainterWrap.Register(L); FairyGUI_UIObjectFactoryWrap.Register(L); FairyGUI_UIContentScalerWrap.Register(L); FairyGUI_MarginWrap.Register(L); FairyGUI_NTextureWrap.Register(L); FairyGUI_UIConfigWrap.Register(L); FairyGUI_AutoSizeTypeWrap.Register(L); FairyGUI_ScrollTypeWrap.Register(L); FairyGUI_AlignTypeWrap.Register(L); FairyGUI_VertAlignTypeWrap.Register(L); FairyGUI_OverflowTypeWrap.Register(L); FairyGUI_FillTypeWrap.Register(L); FairyGUI_ListLayoutTypeWrap.Register(L); L.RegFunction("EventCallback0", FairyGUI_EventCallback0); L.RegFunction("EventCallback1", FairyGUI_EventCallback1); L.RegFunction("PlayCompleteCallback", FairyGUI_PlayCompleteCallback); L.RegFunction("TransitionHook", FairyGUI_TransitionHook); L.RegFunction("ListItemRenderer", FairyGUI_ListItemRenderer); L.RegFunction("ListItemProvider", FairyGUI_ListItemProvider); L.RegFunction("TimerCallback", FairyGUI_TimerCallback); L.BeginModule("Utils"); FairyGUI_Utils_UBBParserWrap.Register(L); L.EndModule(); L.BeginModule("UIPackage"); L.RegFunction("LoadResource", FairyGUI_UIPackage_LoadResource); L.RegFunction("CreateObjectCallback", FairyGUI_UIPackage_CreateObjectCallback); L.EndModule(); L.BeginModule("GObjectPool"); L.RegFunction("InitCallbackDelegate", FairyGUI_GObjectPool_InitCallbackDelegate); L.EndModule(); L.BeginModule("TreeView"); L.RegFunction("TreeNodeCreateCellDelegate", FairyGUI_TreeView_TreeNodeCreateCellDelegate); L.RegFunction("TreeNodeRenderDelegate", FairyGUI_TreeView_TreeNodeRenderDelegate); L.RegFunction("TreeNodeWillExpandDelegate", FairyGUI_TreeView_TreeNodeWillExpandDelegate); L.EndModule(); L.EndModule(); L.BeginModule("DG"); L.BeginModule("Tweening"); DG_Tweening_SequenceWrap.Register(L); DG_Tweening_EaseWrap.Register(L); DG_Tweening_TweenWrap.Register(L); L.BeginModule("Core"); DG_Tweening_Core_ABSSequentiableWrap.Register(L); L.EndModule(); L.EndModule(); L.EndModule(); L.BeginModule("System"); L.RegFunction("Action", System_Action); L.RegFunction("Predicate_int", System_Predicate_int); L.RegFunction("Action_int", System_Action_int); L.RegFunction("Comparison_int", System_Comparison_int); L.RegFunction("Action_string", System_Action_string); L.RegFunction("Action_float", System_Action_float); L.RegFunction("Action_UnityEngine_Object", System_Action_UnityEngine_Object); L.BeginModule("Collections"); System_Collections_QueueWrap.Register(L); L.EndModule(); L.EndModule(); L.BeginModule("EffectRenderObj"); L.RegFunction("LoadComCallBack", EffectRenderObj_LoadComCallBack); L.EndModule(); L.EndModule(); L.BeginPreLoad(); L.AddPreLoad("UnityEngine.MeshRenderer", LuaOpen_UnityEngine_MeshRenderer, typeof(UnityEngine.MeshRenderer)); L.AddPreLoad("UnityEngine.ParticleEmitter", LuaOpen_UnityEngine_ParticleEmitter, typeof(UnityEngine.ParticleEmitter)); L.AddPreLoad("UnityEngine.ParticleRenderer", LuaOpen_UnityEngine_ParticleRenderer, typeof(UnityEngine.ParticleRenderer)); L.AddPreLoad("UnityEngine.ParticleAnimator", LuaOpen_UnityEngine_ParticleAnimator, typeof(UnityEngine.ParticleAnimator)); L.AddPreLoad("UnityEngine.BoxCollider", LuaOpen_UnityEngine_BoxCollider, typeof(UnityEngine.BoxCollider)); L.AddPreLoad("UnityEngine.MeshCollider", LuaOpen_UnityEngine_MeshCollider, typeof(UnityEngine.MeshCollider)); L.AddPreLoad("UnityEngine.SphereCollider", LuaOpen_UnityEngine_SphereCollider, typeof(UnityEngine.SphereCollider)); L.AddPreLoad("UnityEngine.CharacterController", LuaOpen_UnityEngine_CharacterController, typeof(UnityEngine.CharacterController)); L.AddPreLoad("UnityEngine.CapsuleCollider", LuaOpen_UnityEngine_CapsuleCollider, typeof(UnityEngine.CapsuleCollider)); L.AddPreLoad("UnityEngine.Animation", LuaOpen_UnityEngine_Animation, typeof(UnityEngine.Animation)); L.AddPreLoad("UnityEngine.AnimationClip", LuaOpen_UnityEngine_AnimationClip, typeof(UnityEngine.AnimationClip)); L.AddPreLoad("UnityEngine.AnimationState", LuaOpen_UnityEngine_AnimationState, typeof(UnityEngine.AnimationState)); L.AddPreLoad("UnityEngine.BlendWeights", LuaOpen_UnityEngine_BlendWeights, typeof(UnityEngine.BlendWeights)); L.AddPreLoad("UnityEngine.RenderTexture", LuaOpen_UnityEngine_RenderTexture, typeof(UnityEngine.RenderTexture)); L.AddPreLoad("UnityEngine.Rigidbody", LuaOpen_UnityEngine_Rigidbody, typeof(UnityEngine.Rigidbody)); L.EndPreLoad(); Debugger.Log("Register lua type cost time: {0}", Time.realtimeSinceStartup - t); }
public Path GetPath(Node startNode, Node endNode) { if (startNode == null || endNode == null) { return(null); } // Already at node Path retPath; if (startNode.LocID == endNode.LocID) { retPath = new Path(); return(retPath); } Node start; Node goal; _netNodes.TryGetValue(startNode.LocID, out start); //_netNodes[startNode.LocID]; _netNodes.TryGetValue(endNode.LocID, out goal); //_netNodes[endNode.LocID]; if (start == null || goal == null) { return(null); } // Make Lists for search List <NodeWrap> openList = new List <NodeWrap>(); List <NodeWrap> closedList = new List <NodeWrap>(); // Place starting node in open list list openList.Add(new NodeWrap(start, null, 0, calculateDistance(start, goal))); NodeWrap curNodeWrap; NodeWrap goalNodeWrap = null; while (true) { //Exit upon empty openList if (openList.Count == 0) { break; } // Sort openList and choose lowest F openList.Sort(); // Take lowest F in openList and move to closedList curNodeWrap = openList[0]; openList.RemoveAt(0); closedList.Add(curNodeWrap); // Check for goal node if (curNodeWrap.Equals(goal)) { goalNodeWrap = curNodeWrap; break; } // Add connected nodes to open list if not already listed in closedList, update if on openList foreach (Node node in curNodeWrap.node) { bool found = false; // Ignore node if on closed list foreach (NodeWrap nodeWrap in closedList) { if (nodeWrap.Equals(node)) { found = true; break; } } if (found) { continue; } // Potentially update NodeWrap if it is on the openList and the costToNode is less foreach (NodeWrap nodeWrap in openList) { if (nodeWrap.Equals(node)) { // Compare costToNode, update parent if node has lower cost float newCostToNode = curNodeWrap.costToNode + calculateDistance(curNodeWrap.node, node); if (newCostToNode < nodeWrap.costToNode) { nodeWrap.parentNodeWrap = curNodeWrap; nodeWrap.costToNode = newCostToNode; } found = true; break; } } if (found) { continue; } openList.Add(new NodeWrap(node, curNodeWrap, curNodeWrap.costToNode + calculateDistance(curNodeWrap.node, node), calculateDistance(node, goal))); } } if (goalNodeWrap == null) { return(null); } // Make a path if the final NodeWrap, a path from start to goal, was found retPath = new Path(); NodeWrap parent = goalNodeWrap; // Create path from goal to start while (parent != null) { retPath.AddNode(parent.node); parent = parent.parentNodeWrap; } // Reverse path becuase it was created from goal to start retPath.Reverse(); return(retPath); }