📄 engine.cpp
字号:
// engine.cpp
//
// Copyright (c) 2000 Symbian Ltd. All rights reserved.
#include "engine.h"
// construct/destruct
CGameEngine::~CGameEngine()
{
delete iLastSent;
delete iLastReceived;
}
_LIT(KNullString,"");
const TDesC& CGameEngine::LastSent() const
{
if (iLastSent)
return *iLastSent;
else
return KNullString;
}
const TDesC& CGameEngine::LastReceived() const
{
if (iLastReceived)
return *iLastReceived;
else
return KNullString;
}
// set
void CGameEngine::SetLastSentL(const TDesC& aString)
{
delete iLastSent;
iLastSent=0;
iLastSent=aString.AllocL();
}
void CGameEngine::SetLastReceivedL(const TDesC& aString)
{
delete iLastReceived;
iLastReceived=0;
iLastReceived=aString.AllocL();
}
void CGameEngine::Reset() // resets everything
{
// reset message logs
delete iLastSent;
iLastSent=0;
delete iLastReceived;
iLastReceived=0;
}
// persistence
void CGameEngine::ExternalizeL(RWriteStream& aStream) const
{
// last sent
if (iLastSent)
aStream << *iLastSent;
else aStream << KNullDesC;
// last received
if (iLastReceived)
aStream << *iLastReceived;
else aStream << KNullDesC;
}
void CGameEngine::InternalizeL(RReadStream& aStream)
{
Reset();
HBufC* string;
// last sent
string=HBufC::NewL(aStream, 10000);
if (string->Length() > 0)
iLastSent=string;
else
{
delete string;
iLastSent=0;
}
// last received
string=HBufC::NewL(aStream, 10000);
if (string->Length() > 0)
iLastReceived=string;
else
{
delete string;
iLastReceived=0;
}
}
TStreamId CGameEngine::StoreL(CStreamStore& aStore) const
{
RStoreWriteStream stream;
TStreamId id = stream.CreateLC(aStore);
ExternalizeL(stream);
stream.CommitL();
CleanupStack::PopAndDestroy(); // stream
return id;
}
void CGameEngine::RestoreL(const CStreamStore& aStore, TStreamId aStreamId)
{
RStoreReadStream stream;
stream.OpenLC(aStore,aStreamId);
InternalizeL(stream);
CleanupStack::PopAndDestroy(); // stream
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -