예제 #1
0
        private static BezierWrap[] CreateBezierCurves(int numPoints, Vector2[] pathPoints, Tuple <Vector2, Vector2>[] controlPoints, bool closed)
        {
            var numCurves = closed ? numPoints : numPoints - 1;
            var curves    = new BezierWrap[numCurves];

            for (var n = 0; n < numCurves; n++)
            {
                var m = NextPoint(n, numPoints);

                var pointCurrent = pathPoints[n];
                var pointNext    = pathPoints[m];

                var CpsCurrent = controlPoints[n];
                var CpsNext    = controlPoints[m];

                if (!closed)
                {
                    if (n == 0)
                    {
                        curves[n] = new BezierWrap
                        {
                            Curve             = Bezier.CreateBezierQuadratic(pointCurrent, CpsNext.Item1, pointNext),
                            TraverseInReverse = false
                        };
                        continue;
                    }
                    else if (n == numCurves - 1)
                    {
                        curves[n] = new BezierWrap
                        {
                            Curve             = Bezier.CreateBezierQuadratic(pointNext, CpsCurrent.Item2, pointCurrent),
                            TraverseInReverse = true
                        };
                        continue;
                    }
                }
                curves[n] = new BezierWrap
                {
                    Curve             = Bezier.CreateBezierCubic(pointCurrent, CpsCurrent.Item2, pointNext, CpsNext.Item1),
                    TraverseInReverse = false
                };
            }
            return(curves);
        }
예제 #2
0
        private BezierWrap FindCurveFromFractionAlongSpline(float fraction)
        {
            BezierWrap result = null;

            for (var n = 0; n < _numCurves; n++)
            {
                if (fraction >= _curves[n].FractionStart)
                {
                    if (fraction <= _curves[n].FractionEnd)
                    {
                        result = _curves[n];
                    }
                }
                else
                {
                    break;
                }
            }
            return(result);
        }
예제 #3
0
        private float MeasureCurveApproximateLength(BezierWrap curve, float frac, int numDivs)
        {
            var len = 0.0f;

            for (var n = 0; n < numDivs; n++)
            {
                var m = n + 1;

                var fracStart = n * frac;
                var fracEnd   = m * frac;

                if (curve.TraverseInReverse)
                {
                    fracStart = 1.0f - fracStart;
                    fracEnd   = 1.0f - fracEnd;
                }

                var p0 = Bezier.PointOnCurve(fracStart, curve.Curve);
                var p1 = Bezier.PointOnCurve(fracEnd, curve.Curve);

                len += Vector2.Distance(p0, p1);
            }
            return(len);
        }
예제 #4
0
    public static void Bind(LuaState L)
    {
        float t = Time.realtimeSinceStartup;

        L.BeginModule(null);
        LuaInterface_DebuggerWrap.Register(L);
        eyeWrap.Register(L);
        UtilsWrap.Register(L);
        ConstWrap.Register(L);
        GlobalWrap.Register(L);
        ShareDataWrap.Register(L);
        ByteBufferWrap.Register(L);
        FileUtilWrap.Register(L);
        StringUtilWrap.Register(L);
        TableUtilWrap.Register(L);
        LogUtilWrap.Register(L);
        IniUtilWrap.Register(L);
        PathUtilWrap.Register(L);
        GameManagerWrap.Register(L);
        ResourceManagerWrap.Register(L);
        ObjectPoolManagerWrap.Register(L);
        NetworkManagerWrap.Register(L);
        AudioManagerWrap.Register(L);
        NotificationManagerWrap.Register(L);
        LocalizationWrap.Register(L);
        DeviceHelperWrap.Register(L);
        ArmyMoveWrap.Register(L);
        ProgressSpriteWrap.Register(L);
        UIModWrap.Register(L);
        UISystemWrap.Register(L);
        UIManagerWrap.Register(L);
        UIButtonWrap.Register(L);
        UIButtonAgentWrap.Register(L);
        UIInputFieldWrap.Register(L);
        UIInputFieldSubmitWrap.Register(L);
        UISliderWrap.Register(L);
        UIScrollRectWrap.Register(L);
        UIScrollPageWrap.Register(L);
        UIScrollBaseWrap.Register(L);
        UIScrollRingWrap.Register(L);
        UIScrollViewWrap.Register(L);
        UIClippingLoopWrap.Register(L);
        UIDragSensorWrap.Register(L);
        UITextWrap.Register(L);
        UIToggleWrap.Register(L);
        UITweenWrap.Register(L);
        UITweenRectPositionWrap.Register(L);
        UITweenRectPositionBetweenWrap.Register(L);
        UITweenFadeWrap.Register(L);
        UITweenColorWrap.Register(L);
        UITweenLocalPositionWrap.Register(L);
        UITweenLocalPositionBetweenWrap.Register(L);
        UITweenScaleWrap.Register(L);
        UITweenScale1Wrap.Register(L);
        UITweenPositionWrap.Register(L);
        UITweenSizeDeltaWrap.Register(L);
        UITweenCityBuildingWrap.Register(L);
        UITweenMoveWrap.Register(L);
        UITweenJumpWrap.Register(L);
        UITweenPathWrap.Register(L);
        UITextTimeCountdownWrap.Register(L);
        UITextNumCountdownWrap.Register(L);
        UITextUnderlineWrap.Register(L);
        UIProgressWrap.Register(L);
        FXTypeWriterWrap.Register(L);
        TypeWriterWrap.Register(L);
        UITextAutoOmitWrap.Register(L);
        UIPopWindowWrap.Register(L);
        UIGradientWrap.Register(L);
        ShakeWrap.Register(L);
        UIHighLightMaskWrap.Register(L);
        ReferenceWrap.Register(L);
        UIPolygonChartWrap.Register(L);
        UIAutoSizeWrap.Register(L);
        UITextAgentWrap.Register(L);
        SpriteAnimationWrap.Register(L);
        YlyAssetIdentifyWrap.Register(L);
        YlyRichTextWrap.Register(L);
        YlyDelegateUtilWrap.Register(L);
        GizmoPlaneWrap.Register(L);
        GizmoBezierLineWrap.Register(L);
        BezierWrap.Register(L);
        BezierMoveWrap.Register(L);
        CityWrap.Register(L);
        CityCameraWrap.Register(L);
        CityBuildingWrap.Register(L);
        CityLandWrap.Register(L);
        CharacterWrap.Register(L);
        MapBorderWrap.Register(L);
        MapUnitMoveWrap.Register(L);
        WorldMapCameraWrap.Register(L);
        WorldMapThumbCameraWrap.Register(L);
        ScreenBlurWrap.Register(L);
        ChannelSDKWrap.Register(L);
        UIPrimitiveBaseWrap.Register(L);
        L.BeginModule("UnityEngine");
        UnityEngine_ComponentWrap.Register(L);
        UnityEngine_TransformWrap.Register(L);
        UnityEngine_MaterialWrap.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_SpriteRendererWrap.Register(L);
        UnityEngine_MotionWrap.Register(L);
        UnityEngine_SpriteWrap.Register(L);
        UnityEngine_CanvasWrap.Register(L);
        UnityEngine_RectTransformWrap.Register(L);
        UnityEngine_RectWrap.Register(L);
        UnityEngine_TextGeneratorWrap.Register(L);
        UnityEngine_UICharInfoWrap.Register(L);
        UnityEngine_TextGenerationSettingsWrap.Register(L);
        UnityEngine_GUIUtilityWrap.Register(L);
        UnityEngine_Color32Wrap.Register(L);
        L.BeginModule("Experimental");
        L.BeginModule("Director");
        UnityEngine_Experimental_Director_PlayableWrap.Register(L);
        L.EndModule();
        L.EndModule();
        L.BeginModule("SceneManagement");
        UnityEngine_SceneManagement_SceneManagerWrap.Register(L);
        L.EndModule();
        L.BeginModule("UI");
        UnityEngine_UI_LayoutGroupWrap.Register(L);
        UnityEngine_UI_ImageWrap.Register(L);
        UnityEngine_UI_SelectableWrap.Register(L);
        UnityEngine_UI_ButtonWrap.Register(L);
        UnityEngine_UI_InputFieldWrap.Register(L);
        UnityEngine_UI_SliderWrap.Register(L);
        UnityEngine_UI_ScrollRectWrap.Register(L);
        UnityEngine_UI_TextWrap.Register(L);
        UnityEngine_UI_ToggleWrap.Register(L);
        UnityEngine_UI_GridLayoutGroupWrap.Register(L);
        UnityEngine_UI_LayoutElementWrap.Register(L);
        UnityEngine_UI_MaskableGraphicWrap.Register(L);
        UnityEngine_UI_GraphicWrap.Register(L);
        UnityEngine_UI_BaseMeshEffectWrap.Register(L);
        L.BeginModule("InputField");
        L.RegFunction("OnValidateInput", UnityEngine_UI_InputField_OnValidateInput);
        L.EndModule();
        L.EndModule();
        L.BeginModule("EventSystems");
        UnityEngine_EventSystems_UIBehaviourWrap.Register(L);
        L.EndModule();
        L.BeginModule("Events");
        L.RegFunction("UnityAction", UnityEngine_Events_UnityAction);
        L.RegFunction("UnityAction_UnityEngine_SceneManagement_Scene_UnityEngine_SceneManagement_LoadSceneMode", UnityEngine_Events_UnityAction_UnityEngine_SceneManagement_Scene_UnityEngine_SceneManagement_LoadSceneMode);
        L.RegFunction("UnityAction_UnityEngine_SceneManagement_Scene", UnityEngine_Events_UnityAction_UnityEngine_SceneManagement_Scene);
        L.RegFunction("UnityAction_UnityEngine_SceneManagement_Scene_UnityEngine_SceneManagement_Scene", UnityEngine_Events_UnityAction_UnityEngine_SceneManagement_Scene_UnityEngine_SceneManagement_Scene);
        L.EndModule();
        L.BeginModule("Camera");
        L.RegFunction("CameraCallback", UnityEngine_Camera_CameraCallback);
        L.EndModule();
        L.BeginModule("Application");
        L.RegFunction("LowMemoryCallback", UnityEngine_Application_LowMemoryCallback);
        L.RegFunction("AdvertisingIdentifierCallback", UnityEngine_Application_AdvertisingIdentifierCallback);
        L.RegFunction("LogCallback", UnityEngine_Application_LogCallback);
        L.EndModule();
        L.BeginModule("AudioClip");
        L.RegFunction("PCMReaderCallback", UnityEngine_AudioClip_PCMReaderCallback);
        L.RegFunction("PCMSetPositionCallback", UnityEngine_AudioClip_PCMSetPositionCallback);
        L.EndModule();
        L.BeginModule("Canvas");
        L.RegFunction("WillRenderCanvases", UnityEngine_Canvas_WillRenderCanvases);
        L.EndModule();
        L.BeginModule("RectTransform");
        L.RegFunction("ReapplyDrivenProperties", UnityEngine_RectTransform_ReapplyDrivenProperties);
        L.EndModule();
        L.EndModule();
        L.BeginModule("OpenUDIDPhone");
        OpenUDIDPhone_OpenUDIDWrap.Register(L);
        L.EndModule();
        L.BeginModule("UITextTimeCountdown");
        UITextTimeCountdown_DirectTypeWrap.Register(L);
        L.EndModule();
        L.BeginModule("DragonBones");
        DragonBones_UnityFactoryWrap.Register(L);
        DragonBones_AnimationTimelineStateWrap.Register(L);
        DragonBones_AnimationFrameDataWrap.Register(L);
        DragonBones_AnimationStateWrap.Register(L);
        DragonBones_AnimationFadeOutModeWrap.Register(L);
        DragonBones_AnimationWrap.Register(L);
        DragonBones_AnimationDataWrap.Register(L);
        DragonBones_AnimationConfigWrap.Register(L);
        DragonBones_ActionDataWrap.Register(L);
        DragonBones_ActionTypeWrap.Register(L);
        DragonBones_ArmatureWrap.Register(L);
        DragonBones_ArmatureDataWrap.Register(L);
        DragonBones_ArmatureTypeWrap.Register(L);
        DragonBones_BoneWrap.Register(L);
        DragonBones_BoneDataWrap.Register(L);
        DragonBones_BoneFrameDataWrap.Register(L);
        DragonBones_BoneTimelineDataWrap.Register(L);
        DragonBones_BoneTimelineStateWrap.Register(L);
        DragonBones_DragonBonesWrap.Register(L);
        DragonBones_DragonBonesDataWrap.Register(L);
        DragonBones_TransformWrap.Register(L);
        DragonBones_TransformObjectWrap.Register(L);
        DragonBones_BaseObjectWrap.Register(L);
        DragonBones_EventObjectWrap.Register(L);
        DragonBones_UnityArmatureComponentWrap.Register(L);
        DragonBones_BaseFactoryWrap.Register(L);
        DragonBones_TimelineState_DragonBones_AnimationFrameData_DragonBones_AnimationDataWrap.Register(L);
        DragonBones_FrameData_DragonBones_AnimationFrameDataWrap.Register(L);
        DragonBones_TimelineData_DragonBones_AnimationFrameDataWrap.Register(L);
        DragonBones_TweenFrameData_DragonBones_BoneFrameDataWrap.Register(L);
        DragonBones_FrameData_DragonBones_BoneFrameDataWrap.Register(L);
        DragonBones_TimelineData_DragonBones_BoneFrameDataWrap.Register(L);
        DragonBones_TweenTimelineState_DragonBones_BoneFrameData_DragonBones_BoneTimelineDataWrap.Register(L);
        DragonBones_TimelineState_DragonBones_BoneFrameData_DragonBones_BoneTimelineDataWrap.Register(L);
        DragonBones_UnityEventDispatcher_DragonBones_EventObjectWrap.Register(L);
        L.RegFunction("ListenerDelegate_DragonBones_EventObject", DragonBones_ListenerDelegate_DragonBones_EventObject);
        L.EndModule();
        L.BeginModule("LKCamera");
        LKCamera_Camera2DWrap.Register(L);
        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_UnityEngine_Object", System_Action_UnityEngine_Object);
        L.EndModule();
        L.BeginModule("GameManager");
        L.RegFunction("LuaExecute", GameManager_LuaExecute);
        L.EndModule();
        L.BeginModule("AudioManager");
        L.RegFunction("SwitchChanged", AudioManager_SwitchChanged);
        L.EndModule();
        L.BeginModule("UIInputFieldSubmit");
        L.RegFunction("OnValidateInput", UIInputFieldSubmit_OnValidateInput);
        L.EndModule();
        L.BeginModule("UITween");
        L.RegFunction("OnFinish", UITween_OnFinish);
        L.EndModule();
        L.BeginModule("UIProgress");
        L.RegFunction("LuaCallback", UIProgress_LuaCallback);
        L.EndModule();
        L.BeginModule("YlyDelegateUtil");
        L.RegFunction("StringDelegate", YlyDelegateUtil_StringDelegate);
        L.EndModule();
        L.BeginModule("Character");
        L.RegFunction("OnEvent", Character_OnEvent);
        L.EndModule();
        L.EndModule();
        L.BeginPreLoad();
        L.AddPreLoad("UnityEngine.MeshRenderer", LuaOpen_UnityEngine_MeshRenderer, typeof(UnityEngine.MeshRenderer));
        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);
    }
예제 #5
0
 private float FindFractionAlongCurve(float fraction, BezierWrap curve)
 {
     return((fraction - curve.FractionStart) / curve.FractionalLength);
 }