/// <summary> /// Sets a <see cref="IResumeState"/> to the player. The player is responsible to make the required initializations. /// </summary> /// <param name="state">Resume state.</param> /// <returns><c>true</c> if successful, otherwise <c>false</c>.</returns> public override bool SetResumeState(IResumeState state) { BinaryResumeState binaryResumeState = state as BinaryResumeState; if (binaryResumeState == null) { return(false); } SetResumeState(binaryResumeState.ResumeData); return(true); }
/// <summary> /// Gets a <see cref="IResumeState"/> from the player. /// </summary> /// <param name="state">Outputs resume state.</param> /// <returns><c>true</c> if successful, otherwise <c>false</c>.</returns> public override bool GetResumeState(out IResumeState state) { byte[] data; if (GetResumeState(out data)) { state = new BinaryResumeState { ResumeData = data }; return(true); } state = null; return(false); }