[Orxonox-commit 7013] r11632 - code/branches/SOBv2_HS17/src/modules/superorxobros
zarron at orxonox.net
zarron at orxonox.net
Mon Dec 4 16:00:45 CET 2017
Author: zarron
Date: 2017-12-04 16:00:44 +0100 (Mon, 04 Dec 2017)
New Revision: 11632
Modified:
code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h
code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc
Log:
Boss shoots now limited amount of Gumbas
Modified: code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h 2017-12-04 14:57:10 UTC (rev 11631)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumba.h 2017-12-04 15:00:44 UTC (rev 11632)
@@ -60,6 +60,7 @@
{ return speed_; }
bool hasCollided_;
+ SOBGumbaBoss* creator_;
protected:
float gravityAcceleration_;
float speed_;
@@ -68,7 +69,7 @@
Vector3 lastPos_;
bool changeAllowed_;
float changedOn_;
- SOBGumbaBoss* creator_;
+
};
}
Modified: code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc
===================================================================
--- code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc 2017-12-04 14:57:10 UTC (rev 11631)
+++ code/branches/SOBv2_HS17/src/modules/superorxobros/SOBGumbaBoss.cc 2017-12-04 15:00:44 UTC (rev 11632)
@@ -53,9 +53,9 @@
{
RegisterObject(SOBGumbaBoss);
- gumbaMaxTime_ = 4;
+ gumbaMaxTime_ = 1;
gumbaTime_ = 0;
- maxGumbas = 10; //Max Gumbas spawnable by a Boss
+ maxGumbas = 2; //Max Gumbas spawnable by a Boss
}
@@ -90,9 +90,22 @@
gumbaTime_ += dt;
- if(gumbaTime_ > gumbaMaxTime_){
- spawnGumba();
- gumbaTime_ = 0;
+ if(gumbaTime_ > gumbaMaxTime_){ //Spawn Gumba
+ int gumbaCounter=0;
+
+ for (SOBGumba* gumbaInstance : ObjectList<SOBGumba>())
+ {
+ if (gumbaInstance != nullptr && gumbaInstance->creator_==this)
+ {
+ gumbaCounter++;
+ }
+ }
+
+
+ if(gumbaCounter<maxGumbas){
+ spawnGumba();
+ gumbaTime_ = 0;
+ }
}
int dir = 1;
@@ -113,6 +126,7 @@
SOBGumba* gumba = new SOBGumba(center_->getContext());
Vector3 spawnpos = this->getWorldPosition();
spawnpos.z += 0;
+ gumba->creator_=this;
if (gumba != nullptr && center_ != nullptr)
{
More information about the Orxonox-commit
mailing list