本文整理汇总了C++中CServerDE::CreateAttachment方法的典型用法代码示例。如果您正苦于以下问题:C++ CServerDE::CreateAttachment方法的具体用法?C++ CServerDE::CreateAttachment怎么用?C++ CServerDE::CreateAttachment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CServerDE
的用法示例。
在下文中一共展示了CServerDE::CreateAttachment方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AttachToObject
void Trigger::AttachToObject()
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || !m_hstrAttachToObject) return;
char* pObjName = pServerDE->GetStringData(m_hstrAttachToObject);
if (!pObjName) return;
// Find object to attach to...
HOBJECT hObj = DNULL;
ObjectList* pList = pServerDE->FindNamedObjects(pObjName);
if (!pList) return;
if (pList->m_pFirstLink)
{
hObj = pList->m_pFirstLink->m_hObject;
}
if (!hObj) return;
DVector vOffset;
VEC_INIT(vOffset);
DRotation rOffset;
ROT_INIT(rOffset);
HATTACHMENT hAttachment;
pServerDE->CreateAttachment(hObj, m_hObject, DNULL, &vOffset, &rOffset, &hAttachment);
}
示例2: CreateShield
void Gabriel::CreateShield()
{
CServerDE* pServerDE = GetServerDE();
if (!pServerDE || m_hShield) return;
ObjectCreateStruct theStruct;
INIT_OBJECTCREATESTRUCT(theStruct);
DVector vPos;
pServerDE->GetObjectPos(m_hObject, &vPos);
VEC_COPY(theStruct.m_Pos, vPos);
SAFE_STRCPY(theStruct.m_Filename, "Models\\PV_Weapons\\SpiderExplosionCore.abc");
SAFE_STRCPY(theStruct.m_SkinName, "SpecialFX\\Explosions\\SpiderCore.dtx");
theStruct.m_ObjectType = OT_MODEL;
theStruct.m_Flags = FLAG_VISIBLE | FLAG_GOTHRUWORLD;
HCLASS hClass = pServerDE->GetClass("BaseClass");
LPBASECLASS pModel = pServerDE->CreateObject(hClass, &theStruct);
if (!pModel) return;
m_hShield = pModel->m_hObject;
DVector vScale;
VEC_SET(vScale, 150.0f, 300.0f, 150.0f);
pServerDE->ScaleObject(m_hShield, &vScale);
pServerDE->SetObjectColor(m_hShield, 1.0f, 0.5f, 0.0f, 0.5f);
// Attach the sheild model to Gabriel...
DVector vOffset;
VEC_INIT(vOffset);
DRotation rOffset;
ROT_INIT(rOffset);
HATTACHMENT hAttachment;
DRESULT dRes = pServerDE->CreateAttachment(m_hObject, m_hShield, DNULL,
&vOffset, &rOffset, &hAttachment);
if (dRes != DE_OK)
{
pServerDE->RemoveObject(m_hShield);
m_hShield = DNULL;
}
}