Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10020


Ignore:
Timestamp:
Apr 3, 2014, 3:59:48 PM (10 years ago)
Author:
samuezu
Message:

created scriptcontroller header and *.cc file

Location:
code/branches/ScriptableController/src/orxonox/controllers
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • code/branches/ScriptableController/src/orxonox/controllers/ControllerDirector.h

    r10012 r10020  
     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
    129#ifndef _ControllerDirector_H__
    230#define _ControllerDirector_H__
    331
    4 
    532#include "OrxonoxPrereqs.h"
    6 #include "core/BaseObject.h"
    7 #include "core/class/Super.h"
     33#include "ArtificialController.h"
     34#include "core/EventIncludes.h"
    835
    936
    1037namespace orxonox
    1138{
     39    class _OrxonoxExport ControllerDirector : public ArtificialController
     40    {
     41        public:
     42            ControllerDirector(Context* context);
     43            virtual ~ControllerDirector() { }
     44
     45            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
     46            bool party(bool bTriggered, BaseObject* trigger);
     47            void tick(float dt);
     48            void takeControl(Controller * controller, BaseObject * trigger);
     49            bool preparationToTakeControl(BaseObject * trigger);
     50            void setNewController(Controller * controller);
     51
     52
     53        private:
     54           
     55           PlayerInfo* player_;
     56
     57           ControllableEntity* entity_;
     58
     59           PlayerTrigger * pTrigger_;
    1260       
    13  
    14  class _OrxonoxExport ControllerDirector : public BaseObject
    15  {
    16         public:
    17             ControllerDirector(Context* context);
    18             virtual ~ControllerDirector();
    1961
    20 };
     62    };
    2163}
    22 #endif
     64
     65#endif /* _ControllerDirector_H__ */
  • code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc

    r10014 r10020  
    3434    RegisterClass(ScriptController);
    3535
    36     ScriptController::ScriptController(Context* context) : ArtificialController(context)
     36    ScriptController::ScriptController(Context* context, ControllableEntity CE) : ArtificialController(context)
    3737    {
    3838        RegisterObject(ScriptController);
     39        set_controlled(CE);
    3940    }
    4041
    41     bool ScriptController::execute(bool bTriggered, BaseObject* trigger)
     42    void set_luasrc(string lsrc)
    4243    {
    43         orxout(verbose)<<"hello universe"<<endl;
    44         return true;
     44        this->luasrc=lsrc;
    4545    }
    4646
    47 
     47    void set_controlled(&ControllableEntity toControl)
     48    {
     49        this->controlled=toControl;
     50    }
     51   
    4852    void ScriptController::XMLPort(Element& xmlelement, XMLPort::Mode mode)
    4953    {
    50         XMLPortEventSink(ScriptController, BaseObject, "execute", execute, xmlelement, mode);
     54        XMLPort(ScriptController, BaseObject, "lsrc", set_luasrc, xmlelement, mode);
    5155
    5256    }
    5357
     58    void ScriptController::moveToPosition(const Vector3& target)
     59    {
     60
     61
     62    }
     63    /* TO DO
     64                in the constuctor: make accessible functions such as moveToPosition.. in LUA
     65            ->tolua++ example: http://usefulgamedev.weebly.com/tolua-example.html*/
     66
     67    //function to execute the luafile
    5468
    5569
  • code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h

    r10014 r10020  
    4040    {
    4141        public:
    42             ScriptController(Context* context);
     42            ScriptController(Context* context, ControllableEntity CE);
    4343            virtual ~ScriptController() { }
    4444
    4545            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
    46             bool execute(bool bTriggered, BaseObject* trigger);
     46           
     47           
     48            void set_luasrc(string);
    4749
     50            void set_controlled(&ControllableEntity);
     51
     52            void moveToPosition(const Vector3& target);
     53
     54            /* TO DO
     55                - in the constuctor: make accessible functions such as moveToPoint.. in LUA
     56                  ->tolua++ example: http://usefulgamedev.weebly.com/tolua-example.html*/
     57
     58           
     59               
     60
     61            //function to execute the luafile
    4862
    4963        private:
     64                string luasrc;          // name of the LUA-sourcefile that shall be executed->see XMLPort-function
     65
     66            ControllableEntity* controlled; //entity controlled by this SC
    5067
    5168
Note: See TracChangeset for help on using the changeset viewer.