Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 17, 2019, 1:32:44 PM (5 years ago)
Author:
pomselj
Message:

Jesus safed our souls and stopped the crashing. Hallowed be his name and hallowed be his followers sevy and aryo, first of their names, saviors of the andals the raynars and the first nerds. Fourier is love btw

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/OrxoBlox_FS19/src/modules/OrxoBlox/OrxoBloxCenterpoint.h

    r12366 r12396  
    1 /*
    2  *   ORXONOX - the hottest 3D action shooter ever to exist
    3  *                    > www.orxonox.net <
    4  *
    5  *
    6  *   License notice:
    7  *
    8  *   This program is free software; you can redistribute it and/or
    9  *   modify it under the terms of the GNU General Public License
    10  *   as published by the Free Software Foundation; either version 2
    11  *   of the License, or (at your option) any later version.
    12  *
    13  *   This program is distributed in the hope that it will be useful,
    14  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
    15  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    16  *   GNU General Public License for more details.
    17  *
    18  *   You should have received a copy of the GNU General Public License
    19  *   along with this program; if not, write to the Free Software
    20  *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
    21  *
    22  *   Author:
    23  *      Fabian 'x3n' Landau
    24  *   Co-authors:
    25  *      ...
    26  *
    27  */
    28 
    29 /**
    30     @file OrxoBloxCenterpoint.h
    31     @brief Declaration of the OrxoBloxCenterpoint class.
    32     @ingroup OrxoBlox
    33 */
    34 
    351#ifndef _OrxoBloxCenterpoint_H__
    362#define _OrxoBloxCenterpoint_H__
     
    4612namespace orxonox
    4713{
    48    
    49     /**
    50     @brief
    51         The OrxoBloxCenterpoint implements the playing field @ref orxonox::OrxoBlox "OrxoBlox" takes place in and allows for many parameters of the minigame to be set.
    52         The playing field resides in the x,z-plane, with the x-axis being the horizontal axis and the z-axis being the vertical axis.
    53        
    54         Various parameters can be set:
    55         - The <b>dimension</b> is a vector, that defines the width and height of the playing field. The default is <em>(200, 120)</em>.
    56         - The <b>balltemplate</b> is a template that is applied to the @ref orxonox::OrxoBloxBall "OrxoBloxBall", it can be used to attach different things to it, e.g. its @ref orxonox::Model "Model". See below for a usage example.
    57         - The <b>battemplate</b> is a template that is applied to the @ref orxonox::OrxoBloxBall "OrxoBloxBat", it can be used to attach different things to it, e.g. its @ref orxonox::Model "Model". See below for a usage example.
    58         - The <b>ballspeed</b> is the speed with which the @ref orxonox::OrxoBloxBall "OrxoBloxBall" moves. The default is <em>100</em>.
    59         - The <b>ballaccfactor</b> is the acceleration factor for the @ref orxonox::OrxoBloxBall "OrxoBloxBall". The default is <em>1.0</em>.
    60         - The <b>batspeed</b> is the speed with which the @ref orxonox::OrxoBloxBat "OrxoBloxBats" move. The default is <em>60</em>.
    61         - The <b>batlength</b> is the length of the @ref orxonox::OrxoBloxBat "OrxoBloxBats" as the percentage of the height of the playing field. The default is <em>0.25</em>.
    62        
    63         An example in XML of the OrxoBloxCenterpoint would be:
    64        
    65         First the needed templates:
    66         The template for the @ref orxonox::OrxoBloxBall "OrxoBloxBall".
    67         @code
    68         <Template name="OrxoBloxball">
    69           <OrxoBloxBall>
    70             <attached>
    71               <Model mesh="sphere.mesh" scale="2" />
    72               <ParticleSpawner name="hiteffect" position="0,0,0" source="Orxonox/sparks2" lifetime="0.01" autostart="0" mainstate="spawn" />
    73             </attached>
    74             <eventlisteners>
    75               <EventTarget target="hiteffect" />
    76             </eventlisteners>
    77           </OrxoBloxBall>
    78         </Template>
    79         @endcode
    80         As can be seen, a sphere is attached as the @ref orxonox::Model "Model" for the @ref orxonox::OrxoBloxBall "OrxoBloxBall", and also an @ref orxonox::EventListener "EventListener" that triggers a @ref orxonox::ParticleSpawner "ParticleSpawner", whenever the ball hits the boundaries is attached.
    81        
    82         Additionally the template for the @ref orxonox::OrxoBloxBat "OrxoBloxBat".
    83         @code
    84         <Template name="OrxoBloxbatcameras" defaults="0">
    85           <OrxoBloxBat>
    86             <camerapositions>
    87               <CameraPosition position="0,200,0" pitch="-90" absolute="true" />
    88             </camerapositions>
    89           </OrxoBloxBat>
    90         </Template>
    9114
    92         <Template name="OrxoBloxbat">
    93           <OrxoBloxBat camerapositiontemplate=OrxoBloxbatcameras>
    94             <attached>
    95               <Model position="0,0,3" mesh="cube.mesh" scale3D="14,2,2" />
    96             </attached>
    97           </OrxoBloxBat>
    98         </Template>
    99         @endcode
    100         As can be seen, there are actually two templates. The first template is needed to set the camera for the @ref orxonox::OrxoBloxBat "OrxoBloxBat". The second template ist the actual template for the @ref orxonox::OrxoBloxBat "OrxoBloxBat", the template for the camera position is added and a @ref orxonox::Model "Model" for the @ref orxonox::OrxoBloxBat "OrxoBloxBat" is attached.
    101        
    102         Finally the OrxoBloxCenterpoint is created.
    103         @code
    104         <OrxoBloxCenterpoint name="OrxoBloxcenter" dimension="200,120" balltemplate="OrxoBloxball" battemplate="OrxoBloxbat" ballspeed="200" ballaccfactor="1.0" batspeed="130" batlength="0.25">
    105           <attached>
    106             <Model position="0,0,60" mesh="cube.mesh" scale3D="105,1,1" />
    107             <Model position="0,0,-60" mesh="cube.mesh" scale3D="105,1,1" />
    108           </attached>
    109         </OrxoBloxCenterpoint>
    110         @endcode
    111         All parameters are specified. And also two @ref orxonox::Model "Models" (for the upper and lower boundary) are attached.
    112        
    113         For a more elaborate example, have a look at the <code>OrxoBlox.oxw</code> level file.
    114    
    115     @author
    116         Fabian 'x3n' Landau
    117        
    118     @ingroup OrxoBlox
    119     */
    12015    class _OrxoBloxExport OrxoBloxCenterpoint : public StaticEntity
    12116    {
Note: See TracChangeset for help on using the changeset viewer.