Beispiel #1
0
        private void ParseCancelWalk(Internal.CommunicationStream message)
        {
            int direction = message.ReadUnsignedByte();

            var absolutePosition = Player.Position;

            if (absolutePosition == _lastSnapback)
            {
                _snapbackCount++;
            }
            else
            {
                _snapbackCount = 0;
            }

            _lastSnapback.Set(absolutePosition.x, absolutePosition.y, absolutePosition.z);
            if (_snapbackCount >= 16)
            {
                Player.StopAutowalk(true);
                CreatureStorage.SetAttackTarget(null, false);
                SendCancel();
                _snapbackCount = 0;
            }

            Player.AbortAutowalk((Direction)direction);
        }
Beispiel #2
0
 static int Set(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 4);
         UnityEngine.Vector3Int obj = (UnityEngine.Vector3Int)ToLua.CheckObject(L, 1, typeof(UnityEngine.Vector3Int));
         int arg0 = (int)LuaDLL.luaL_checknumber(L, 2);
         int arg1 = (int)LuaDLL.luaL_checknumber(L, 3);
         int arg2 = (int)LuaDLL.luaL_checknumber(L, 4);
         obj.Set(arg0, arg1, arg2);
         ToLua.SetBack(L, 1, obj);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }