Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/netp2/src/orxonox/objects/Test.h @ 3050

Last change on this file since 3050 was 2949, checked in by scheusso, 16 years ago

Network Function calls possible now (already used in Pawn::fire/doFire)

include "network/NetworkFunction.h"
register network functions like this:

registerStaticNetworkFunction( functionPointer ); this is for static (member) functions
registerMemberNetworkFunction( class, function );
this is for non-static member functions

call network functions like this:

callStaticNetworkFunction( functionPointer, clientID, arg1, … ); clientID is 0 for server
callMemberNetworkFunction( class, function, objectID, clientID, arg1, … );
objectID can be obtained by this→getObjectID() for synchronisables

arguments must be supported by MultiType !!
object must inherit from Synchronisable !!

  • Property svn:eol-style set to native
File size: 2.7 KB
RevLine 
[1958]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 *      Oli Scheuss
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29#ifndef _Test_H__
30#define _Test_H__
31
32#include "OrxonoxPrereqs.h"
33#include "core/BaseObject.h"
[2662]34#include "network/synchronisable/Synchronisable.h"
[2948]35#include "Tickable.h"
[1958]36
[2662]37
38typedef int TYPE;
39typedef unsigned int UTYPE;
40
41
[1958]42namespace orxonox
43{
[2948]44  class _OrxonoxExport Test: public BaseObject, public Synchronisable, public Tickable
[1958]45  {
46    public:
[2019]47      Test(BaseObject* creator);
[1958]48      virtual ~Test();
49
50      void setConfigValues();
51      void registerVariables();
[2937]52     
[2944]53      static void call(unsigned int clientID);
[2949]54      void call2(unsigned int clientID, std::string s1, std::string s2, std::string s3, std::string s4);
[2948]55      virtual void tick(float dt);
[2019]56
57
[2662]58      //unsigned functions
59      void setU1(UTYPE value){ u1 = value; }
60      void setU2(UTYPE value){ u2 = value; }
61      void setU3(UTYPE value){ u3 = value; }
62      void setU4(UTYPE value){ u4 = value; }
63      void checkU1();
64      void checkU2();
65      void checkU3();
66      void checkU4();
[2171]67     
[2662]68      //signed functions
69      void setS1(TYPE value){ s1 = value; }
70      void setS2(TYPE value){ s2 = value; }
71      void setS3(TYPE value){ s3 = value; }
72      void setS4(TYPE value){ s4 = value; }
73      void checkS1();
74      void checkS2();
75      void checkS3();
76      void checkS4();
77     
78      static void printV1(){ instance_->checkU1(); }
79      static void printV2(){ instance_->checkU2(); }
80      static void printV3(){ instance_->checkU3(); }
81      static void printV4(){ instance_->checkU4(); }
[2949]82     
83      void printBlaBla(std::string s1, std::string s2, std::string s3, std::string s4, std::string s5);
[1958]84
85    private:
[2662]86      UTYPE u1;
87      UTYPE u2;
88      UTYPE u3;
89      UTYPE u4;
[2171]90     
[2662]91      TYPE s1;
92      TYPE s2;
93      TYPE s3;
94      TYPE s4;
95     
[2171]96      static Test* instance_;
[1958]97  };
98}
99
[1990]100#endif /* _Test_H__ */
Note: See TracBrowser for help on using the repository browser.