Beispiel #1
0
	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();
	}
Beispiel #2
0
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();
}
Beispiel #3
0
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();
}
Beispiel #4
0
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();
}