コード例 #1
0
ファイル: Callback.cs プロジェクト: Hengle/NullspaceKay
        public static Callback Acquire <U, V>(Action <U, V> action, U arg1, V arg2)
        {
            Callback2 <U, V> callback = ObjectPools.Instance.Acquire <Callback2 <U, V> >();

            callback.Handler = action;
            callback.Arg1    = arg1;
            callback.Arg2    = arg2;
            return(callback);
        }
コード例 #2
0
        public int AddTimer <T, U>(int start, int interval, Action <T, U> handler, T arg1, U arg2)
        {
            Callback2 <T, U> callback = ObjectPools.Instance.Acquire <Callback2 <T, U> >();

            callback.Arg1    = arg1;
            callback.Arg2    = arg2;
            callback.Handler = handler;
            TimerTask p = GetTimerData(callback, start, interval);

            return(AddTimer(p));
        }
コード例 #3
0
        public static BehaviourCallback NavPathTo(this Transform trans, float duration, List <Vector3> waypoints, Vector3 offset, IPathTrigger triggerHandler = null, NavPathFlipType flipType = NavPathFlipType.None, NavPathMoveType pathType = NavPathMoveType.LinePosLineDir, int subdivisions = 5, float pathLength = 0.0f)
        {
            NavPathController pathCtrl = new NavPathController();
            AbstractNavPath   navPath  = NavPathUtils.Create(pathType, offset, flipType, triggerHandler, waypoints, subdivisions, pathLength);

            pathCtrl.StartMove(navPath, navPath.PathLength / duration);
            pathCtrl.mCtlPosition = trans;
            pathCtrl.mCtlRotate   = trans;

            Callback2 <NavPathController, BehaviourCallback> callback = new Callback2 <NavPathController, BehaviourCallback>();

            callback.Arg1    = pathCtrl;
            callback.Handler = (Action <NavPathController, BehaviourCallback>)PathTo;
            BehaviourCallback beh = new BehaviourCallback(callback, callback, callback);

            callback.Arg2 = beh;
            return(beh);
        }