OSDN Git Service

Player.position() を追加
authorh2so5 <h2so5@git.sourceforge.jp>
Thu, 20 Sep 2012 18:27:35 +0000 (03:27 +0900)
committerh2so5 <h2so5@git.sourceforge.jp>
Thu, 20 Sep 2012 18:27:35 +0000 (03:27 +0900)
client/Player.cpp
client/Player.hpp

index 1d03d51..12ce3df 100644 (file)
@@ -328,6 +328,22 @@ Handle<Value> Player::Function_Player_setBalloonContent(const Arguments& args)
     return Undefined();\r
 }\r
 \r
+Handle<Value> Player::Function_Player_position(const Arguments& args)\r
+{\r
+    assert(args.This()->InternalFieldCount() > 0);\r
+    auto self = *static_cast<PlayerPtr*>(args.This()->GetPointerFromInternalField(0));\r
+    assert(self);\r
+\r
+       const auto pos = self->position();\r
+\r
+       HandleScope scope;\r
+       auto array = Array::New(0);\r
+       array->Set(String::New("x"), Number::New(pos.x));\r
+       array->Set(String::New("y"), Number::New(pos.y));\r
+       array->Set(String::New("z"), Number::New(pos.z));\r
+       return array;\r
+}\r
+\r
 void Player::RegisterFunctionTemplate(Handle<FunctionTemplate>& func)\r
 {\r
 \r
@@ -379,6 +395,15 @@ void Player::RegisterFunctionTemplate(Handle<FunctionTemplate>& func)
     */\r
     object->Set(String::New("setBalloonContent"), FunctionTemplate::New(Function_Player_setBalloonContent));\r
 \r
+    /**\r
+    * プレイヤーの座標を返します\r
+    *\r
+    * @method position\r
+       * @return {Array}\r
+    */\r
+    object->Set(String::New("position"), FunctionTemplate::New(Function_Player_position));\r
+\r
+\r
     ///**\r
     //* プレイヤーにタグを追加します\r
     //*\r
index ceb57c2..7b63a91 100644 (file)
@@ -53,6 +53,7 @@ class Player : public std::enable_shared_from_this<Player> {
         static Handle<Value> Function_Player_trip(const Arguments& args);
         static Handle<Value> Function_Player_login(const Arguments& args);
         static Handle<Value> Function_Player_setBalloonContent(const Arguments& args);
+        static Handle<Value> Function_Player_position(const Arguments& args);
 
     public: