void nekoParticleEmitter::Initialize() { mEmitDelay = 1.0f; mMinDir = nekoPointF(-100, -100); mMaxDir = nekoPointF(100, 100); mMinScale = 0.2f; mMaxScale = 0.5f; mMaxCount = 100; mLoop = true; mSpawnPos = nekoPointF(400, 300); mSpawnRadius = nekoPoint(100, 100); mMinLifeTime = 5.0f; mMaxLifeTime = 10.0f; mMinStartColor = 0x00; mMaxStartColor = 0xffffffff; mMinEndColor = 0x00; mMaxEndColor = 0x00ffffff; mRotation = 0.0f; mGravity = nekoPointF(0, 0); mSrcBlend = 3; mDestBlend = 2; mRotationSpeed = mScaleSpeed = 0; mMinFirstAppearTime = 0.0f; mMaxFirstAppearTime = 1.0f; FillNodes(); }
void CChildView::ResizeNode(CNodeClass* pClass, UINT idx, DWORD before, DWORD After) { if (!pClass || idx == MAX_NODES) return; if (before != After) { if (After < before) FillNodes(pClass, idx + 1, before - After); else RemoveNodes(pClass, idx + 1, After - before); } theApp.CalcAllOffsets(); }
void CChildView::ReplaceNode(CNodeClass* pClass, UINT idx, CNodeBase* pNewNode) { if (!pClass || idx == MAX_NODES) return; CNodeBase* pOldNode = pClass->Nodes[idx]; pNewNode->Name = pOldNode->Name; pNewNode->Comment = pOldNode->Comment; // This looks wrong //if ( pOldNode->offset < 0x140000000 ) //{ // pNewNode->offset = 0x140000000; // pNewNode->strOffset = "0x140000000"; //} else { // pNewNode->offset = pOldNode->offset; //} pNewNode->pParent = pClass; pNewNode->bSelected = false; //m_pSelected = pNewNode; pClass->Nodes[idx] = pNewNode; DWORD sOld = pOldNode->GetMemorySize(); DWORD sNew = pNewNode->GetMemorySize(); if (sOld != sNew) { if (sNew < sOld) FillNodes(pClass, idx + 1, sOld - sNew); else RemoveNodes(pClass, idx + 1, sNew - sOld); } delete pOldNode; theApp.CalcAllOffsets(); }
void CChildView::RemoveNodes(CNodeClass* pClass, UINT idx, DWORD Length) { if (!pClass || idx == MAX_NODES) return; UINT t = 0; DWORD totalSize = 0; for (UINT i = idx; i < pClass->Nodes.size(); i++) { totalSize += pClass->Nodes[i]->GetMemorySize(); t++; if (totalSize >= Length) break; } for (UINT i = 0; i < t; i++) { delete pClass->Nodes[idx]; pClass->Nodes.erase(pClass->Nodes.begin() + idx); } if (totalSize > Length) { FillNodes(pClass, idx, totalSize - Length); } theApp.CalcAllOffsets(); }