Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 7, 2013, 3:58:33 PM (12 years ago)
Author:
maxima
Message:
 
Location:
code/branches/formationupdate
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • code/branches/formationupdate/data/levels/maxim.oxw

    r9615 r9621  
    2020<Level
    2121 gametype = "Mission"
    22 >                 
     22>                  
    2323  <templates>
    2424    <Template link=lodtemplate_default />
     
    4949  <!-- TRIGGERS -->
    5050    <DistanceTrigger name="FormationInit" position="800,700,600"  target="Pawn" distance=60 stayActive="true" delay=0.1 />
     51    <DistanceTrigger name="LetsGo"        position="200,-200,1000" target="Pawn" distance=180 stayActive="true" delay=0.1 />
    5152      <BlinkingBillboard colour="1,1,0.05"position="200,-200,1000" frequency=0.6 amplitude=3 material="Flares/lensflare" >
    5253      </BlinkingBillboard>
    53 
     54        <DistanceTrigger name="Fight"        position="-600,3000,-2000" target="Pawn" distance=180 stayActive="true" delay=0.1 />
     55      <BlinkingBillboard colour="0,0,1"position="-600,3000,-2000" frequency=0.6 amplitude=3 material="Flares/lensflare" >
     56      </BlinkingBillboard>
    5457
    5558
     
    6366    </Script> <!-- !!! activates formation behaviour !!! -->
    6467
     68    <Script code="artificialcontroller setbotlevel 3" onLoad="false">
     69        <events>
     70            <trigger>
     71                <EventListener event=FormationInit />
     72            </trigger>
     73        </events>
     74    </Script>
    6575
    66         <!-- ADDING FORMATION: 5 Swallows -->
    67         <?lua for i=0,1,1 do
    68         ?>
    69             <SpaceShip position="<?lua print(800+i*200) ?>,700,600" lookat="-1300,-600,900" visible="true">
    70                 <templates>
    71                     <Template link=spaceshipswallow />
    72                 </templates>
    73                 <controller>
    74                     <AIController team=0/>
    75                 </controller>
    76             </SpaceShip>
    77         <?lua end ?>
    78        
    79        
    80         <!-- ADDING ENEMY FORMATION: 5 Swallows -->
     76    <SimpleNotification message="Let's go!">
     77        <events>
     78            <trigger>
     79                <EventListener event="LetsGo" />
     80            </trigger>
     81        </events>
     82    </SimpleNotification>
    8183
    82         <?lua for i=0,1,1 do
    83         ?>
    84             <SpaceShip position="<?lua print(5000+i*200) ?>,-200,1000" lookat="-1300,-600,900" visible="true">
    85                 <templates>
    86                     <Template link=spaceshipswallow />
    87                 </templates>
    88                 <controller>
    89                     <AIController team=1/>
    90                 </controller>
    91             </SpaceShip>
    92         <?lua end ?>
     84
     85
     86
     87<!-- ADDING FORMATION: 2 Swallows -->
     88<?lua for i=0,1,1 do
     89?>
     90    <SpaceShip position="<?lua print(400+i*200) ?>,-200,1000" lookat="-1300,-600,900" visible="true">
     91        <!--events>
     92            <visibility>
     93                <EventListener event="ondock" />
     94            </visibility>
     95        </events-->
     96        <templates>
     97            <Template link=spaceshipswallow /> <!--spaceshipTransporter spaceshippirate-->
     98        </templates>
     99        <controller>
     100            <AIController team=0>
     101                <events>
     102                    <activity>
     103                        <EventListener event="LetsGo" />
     104                     </activity>
     105                </events>
     106            </AIController>
     107        </controller>
     108    </SpaceShip>
     109<?lua end ?>
     110
     111<?lua for i=0,2,1 do
     112?>
     113
     114
     115<!-- ENEMY SWALLOWS -->
     116    <SpaceShip position="<?lua print(-400+i*200) ?>,3000,-2000" lookat="-1300,-600,900" visible="true">
     117        <templates>
     118            <Template link=spaceshipswallow />
     119        </templates>
     120        <controller>
     121            <AIController team=1>
     122                <events>
     123                    <activity>
     124                        <EventListener event="Fight" />
     125                     </activity>
     126                </events>
     127            </AIController>
     128        </controller>
     129    </SpaceShip>
     130<?lua end ?>
     131
    93132  </Scene>
    94133</Level>
    95 
  • code/branches/formationupdate/src/orxonox/controllers/FormationController.cc

    r9620 r9621  
    535535
    536536
     537    // Sets newMaster as the new master within the formation. Called by the master.
    537538    void FormationController::setNewMasterWithinFormation(FormationController* newMaster)
    538539        {
     
    565566
    566567  /**
    567         @brief Frees all slaves form a master. Initiated by a master.
     568        @brief Frees all slaves from a master. Initiated by a master.
    568569    */
    569570    void FormationController::freeSlaves()
  • code/branches/formationupdate/src/orxonox/controllers/FormationController.h

    r9620 r9621  
    5959      static void passivebehaviour(const bool passive);
    6060      static void formationsize(const int size);
    61       void setNewMasterWithinFormation();
    6261      void setNewMasterWithinFormation(FormationController* newMaster);
    6362
     
    10099      virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, float damage);
    101100
    102       /* Just for testing purposes: report the master. */
    103101      FormationController* getMaster( void ) { return myMaster_; }
    104       FormationController* getThis( void ) { return this; }
     102      FormationController* getController( void ) { return this; }
    105103      FormationController* getSlave( void ) { return this->slaves_.back(); }
    106104
     
    136134      void takeLeadOfFormation();
    137135      void loseMasterState();
     136      void setNewMasterWithinFormation();
    138137
    139138      void freeSlaves();
  • code/branches/formationupdate/src/orxonox/worldentities/pawns/Pawn.cc

    r9620 r9621  
    309309
    310310
    311     /* Two functions to find the slaves of a Pawn
    312      *
    313      */
     311    // A function to check if this pawn's controller is the master of any formationcontroller
    314312    bool Pawn::hasSlaves()
    315313    {
     
    318316                         it != ObjectList<FormationController>::end(); ++it )
    319317                {
    320                         // checks if the Pawn has a slave
     318                        // checks if the pawn's controller has a slave
    321319                        if (this->hasHumanController() && it->getMaster() == this->getPlayer()->getController())
    322320                                return true;
     
    325323    }
    326324
     325    // A function that returns a slave of the pawn's controller
    327326    Controller* Pawn::getSlave(){
    328327        for (ObjectList<FormationController>::iterator it =
     
    331330        {
    332331                if (this->hasHumanController() && it->getMaster() == this->getPlayer()->getController())
    333                         return it->getThis();
     332                        return it->getController();
    334333        }
    335334        return 0;
     
    353352            if (this->getPlayer() && this->getPlayer()->getControllableEntity() == this)
    354353            {
    355 
    356                 // Do different things if Pawn is the Master of a Formation
     354                // Start to control a new entity if you're the master of a formation
    357355                if(this->hasSlaves())
    358356                {
     
    363361                        slave->setControllableEntity(0);
    364362
    365 
    366                         // set new Master
     363                        // set a new master within the formation
    367364                                        orxonox_cast<FormationController*>(this->getController())->setNewMasterWithinFormation(orxonox_cast<FormationController*>(slave));
    368                         //orxonox_cast<FormationController*>(this->getController())->setNewMasterWithinFormation();
    369 
    370 
    371                         /* TO DO: - setNewMasterWithinFormation() with an argument.
    372                          *                - set slave as the new master within the formation
    373                          *
    374                          */
    375365
    376366                                        // start to control a slave
    377367                                this->getPlayer()->startControl(entity);
    378 
    379 
    380368                }
    381369                else
Note: See TracChangeset for help on using the changeset viewer.