コード例 #1
0
ファイル: scripttowerhandler.cpp プロジェクト: Dingf/Paper-TD
Float FireTower(Script * script)
{
	Tower * tower = (Tower *)script->GetSource();
	if ((tower != NULL) && (tower->GetState() == true) && (tower->CheckType(OBJ_TYPE_TOWER) == true))
	{
		AddProjectile(tower);
		return true;
	}
	return false;
}
コード例 #2
0
ファイル: QuadField.cpp プロジェクト: AMDmi3/spring
void CQuadField::MovedProjectile(CProjectile* p)
{
    if (!p->synced)
        return;
    // hit-scan projectiles do NOT move!
    if (p->hitscan)
        return;

    const CProjectile::QuadFieldCellData& qfcd = p->GetQuadFieldCellData();

    const int2 oldCellCoors = qfcd.GetCoor(0);
    const int2 newCellCoors = {
        std::max(0, std::min(int(p->pos.x / quadSizeX), numQuadsX - 1)),
        std::max(0, std::min(int(p->pos.z / quadSizeZ), numQuadsZ - 1))
    };

    if (newCellCoors != oldCellCoors) {
        RemoveProjectile(p);
        AddProjectile(p);
    }
}