56 lines
No EOL
1,011 B
C#
56 lines
No EOL
1,011 B
C#
namespace Server.Items
|
|
{
|
|
public class BookContent
|
|
{
|
|
public string Title { get; }
|
|
|
|
public string Author { get; }
|
|
|
|
public BookPageInfo[] Pages { get; }
|
|
|
|
public BookContent( string title, string author, params BookPageInfo[] pages )
|
|
{
|
|
Title = title;
|
|
Author = author;
|
|
Pages = pages;
|
|
}
|
|
|
|
public BookPageInfo[] Copy()
|
|
{
|
|
BookPageInfo[] copy = new BookPageInfo[Pages.Length];
|
|
|
|
for ( int i = 0; i < copy.Length; ++i )
|
|
copy[i] = new BookPageInfo( Pages[i].Lines );
|
|
|
|
return copy;
|
|
}
|
|
|
|
public bool IsMatch( BookPageInfo[] cmp )
|
|
{
|
|
if ( cmp.Length != Pages.Length )
|
|
return false;
|
|
|
|
for ( int i = 0; i < cmp.Length; ++i )
|
|
{
|
|
string[] a = Pages[i].Lines;
|
|
string[] b = cmp[i].Lines;
|
|
|
|
if ( a.Length != b.Length )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if ( a != b )
|
|
{
|
|
for ( int j = 0; j < a.Length; ++j )
|
|
{
|
|
if ( a[j] != b[j] )
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
} |