private void Deserialize(BitBuffer buffer) { while (buffer.TotalBitsLeft >= RealPlacedBlock.SerializedBitsSize) { ushort type = (ushort)buffer.ReadBits(BlockFactory.BlockTypeSerializedBitsSize); BlockPosition position = BlockPosition.Deserialize(buffer); BlockInfo info = BlockFactory.GetInfo(BlockFactory.GetType(type)); if (info.Type == BlockType.Mainframe) { _mainframePosition = position; } byte rotation = Rotation.Deserialize(buffer); RealLiveBlock block; if (info is SingleBlockInfo single) { block = BlockFactory.MakeSingleLive(transform, single, rotation, position); } else { block = BlockFactory.MakeMultiLive(transform, (MultiBlockInfo)info, rotation, position, out LiveMultiBlockPart[] parts); foreach (LiveMultiBlockPart part in parts) { _blocks.Add(part.Position, part); } } Health += info.Health; Mass += info.Mass; _blocks.Add(position, block); if (SystemFactory.Create(this, block, out BotSystem system)) { _systems.Add(position, system); } } }
/// <summary> /// 权限控制 /// </summary> /// <param name="loginId">登录ID</param> /// <param name="pageName">页面名称</param> /// <returns></returns> public bool CheckRight(string loginId, string pageName) { SystemInterface isystem = SystemFactory.Create(); return(isystem.CheckRight(loginId, pageName)); }
/// <summary> /// 登录验证 /// </summary> /// <param name="loginId">登录ID</param> /// <param name="passowrd">密码</param> /// <returns>bool</returns> public bool ValidateUser(string loginId, string password) { SystemInterface isystem = SystemFactory.Create(); return(isystem.ValidateUser(loginId, password)); }