Commit 32725c5d authored by zh99998's avatar zh99998

版本0.4.3,iDuel修复 还不完整

parent 9e41e6af
...@@ -27,6 +27,7 @@ class Game ...@@ -27,6 +27,7 @@ class Game
def chat(chatmessage) def chat(chatmessage)
end end
def exit def exit
$scene = Scene_Login.new
end end
def watching? def watching?
@room and @room.include? @user @room and @room.include? @user
......
...@@ -8,8 +8,10 @@ class Game_Event ...@@ -8,8 +8,10 @@ class Game_Event
Login Login
when "C" when "C"
AllUsers AllUsers
when "F", "Q" #F=加入观战 when "F"
Join Join
when "Q"
NewRoom
when "G" when "G"
Watch Watch
when "H", "M" when "H", "M"
......
...@@ -64,6 +64,7 @@ class Iduel < Game ...@@ -64,6 +64,7 @@ class Iduel < Game
@conn.close @conn.close
@conn = nil @conn = nil
end end
super
end end
def recv(info) def recv(info)
if info.nil? if info.nil?
......
...@@ -22,11 +22,12 @@ class User ...@@ -22,11 +22,12 @@ class User
def avatar(size = :small) def avatar(size = :small)
cache = "graphics/avatars/#{@id}_#{size}.png" cache = "graphics/avatars/#{@id}_#{size}.png"
result = Surface.load(cache) rescue Surface.load("graphics/avatars/loading_#{size}.gif") result = Surface.load(cache) rescue Surface.load("graphics/avatars/loading_#{size}.gif")
scene = $scene
if block_given? if block_given?
yield result yield result
Thread.new do Thread.new do
open("http://www.duelcn.com/uc_server/avatar.php?uid=#{id-100000}&size=#{size}", 'rb') {|io|open(cache, 'wb') {|c|c.write io.read}} rescue cache = "graphics/avatars/noavatar_#{size}.gif" open("http://www.duelcn.com/uc_server/avatar.php?uid=#{id-100000}&size=#{size}", 'rb') {|io|open(cache, 'wb') {|c|c.write io.read}} rescue cache = "graphics/avatars/noavatar_#{size}.gif"
yield Surface.load(cache) yield Surface.load(cache) if scene == $scene
end end
else else
result result
......
...@@ -136,8 +136,12 @@ class Scene ...@@ -136,8 +136,12 @@ class Scene
def handle_game(event) def handle_game(event)
case event case event
when Game_Event::Error when Game_Event::Error
$game.exit if $game if event.fatal
Widget_Msgbox.new(event.title, event.message, :ok => "确定"){$scene = Scene_Login.new if event.fatal} $game.exit if $game
Widget_Msgbox.new(event.title, event.message, :ok => "确定"){$scene = Scene_Login.new}
else
Widget_Msgbox.new(event.title, event.message, :ok => "确定")
end
else else
$log.debug('未处理的游戏事件'){event.inspect} $log.debug('未处理的游戏事件'){event.inspect}
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment