march
2007年12月05日 12:15
#libsecondlifeのロード
import clr
clr.AddReferenceToFile("libsecondlife.dll")
import libsecondlife
import time
#ログイン情報の設定
firstName = 'abcd' #苗字
lastName = 'efgh' #名前
passWord = 'ejkl' #パスワード
#イベント待ち合わせ用クラスの定義
class EventTracker:
def __init__(self):
self.data=False
def Clear(self):
self.data=False
def Set(self):
self.data=True
def Wait(self):
while not self.data:
time.sleep(0.1)
#所持金要求イベント処理用ハンドラの定義
def BalanceHandler(balance):
global event
print 'balance=', balance
event.Set()
#初期設定、
event = EventTracker()
client = libsecondlife.SecondLife()
#client.Self.OnBalanceUpdated += libsecondlife.MainAvatar.BalanceCallback(BalanceHandler) #ver0.2.0
client.Self.OnBalanceUpdated += libsecondlife.AgentManager.BalanceCallback(BalanceHandler) #ver0.3.0
#接続
client.Network.Login(firstName, lastName, passWord, '', '')
#実際の処理(残高照会)
event.Clear()
client.Self.RequestBalance()
event.Wait()
#切断
client.Network.Logout()