Commit 8b07a504 authored by 神楽坂玲奈's avatar 神楽坂玲奈

NBX action解析大量增加

parent 48dcc949
...@@ -136,7 +136,7 @@ class Action ...@@ -136,7 +136,7 @@ class Action
end end
else else
card = Game_Card.new(@card) card = Game_Card.new(@card)
p "似乎凭空产生了卡片?" puts "似乎凭空产生了卡片?"
p self p self
end end
card.position = @position if @position card.position = @position if @position
...@@ -271,6 +271,12 @@ class Action ...@@ -271,6 +271,12 @@ class Action
@card = card @card = card
end end
end end
class MultiShow < Action
def initialize(from_player, cards)
super(from_player, nil)
@cards = cards
end
end
class Effect_Activate < Move class Effect_Activate < Move
def initialize(from_player, from_pos, card) def initialize(from_player, from_pos, card)
@from_player = from_player @from_player = from_player
...@@ -286,13 +292,18 @@ class Action ...@@ -286,13 +292,18 @@ class Action
super(from_player, from_pos, nil, card, nil, position) super(from_player, from_pos, nil, card, nil, position)
end end
end end
class Ignored < Action
def initialize(str)
@str = str
end
end
class Unknown < Action class Unknown < Action
def initialize(*args) def initialize(str)
puts 'unkonwn action' @str = str
p args puts 'unkonwn action ' + str
end end
def run def run
puts 'unkonwn action run' puts 'unkonwn action run ' + @str
end end
end end
def self.reset def self.reset
......
#encoding: UTF-8 #encoding: UTF-8
require_relative '../action' require_relative '../action'
class Action class Action
CardFilter = /((?:<){0,1}(?:\[.*?\]\[(?:.*?)\]){0,1}[\s\d]*(?:>){0,1}|一张怪兽卡|一张魔\/陷卡)/.to_s CardFilter = /((?:<)?(?:\[.*?\]\[(?:.*?)\])?[\s\d]*(?:>)?|一张怪兽卡|一张魔\/陷卡)/.to_s
#FieldCardFilter = /(<>|<??>|<(?:(?:表攻|表守|里守)\|){0,1}\[.*?\]\[(?:.*?)\]){0,1}[\s\d]*>)/.to_s #FieldCardFilter = /(<>|<??>|<(?:(?:表攻|表守|里守)\|)?\[.*?\]\[(?:.*?)\])?[\s\d]*>)/.to_s
PosFilter = /((?:手卡|手牌|场上|魔陷区|怪兽区|墓地|额外牌堆|除外区|卡组顶端|\(\d+\)){1,2})/.to_s PosFilter = /((?:手卡|手牌|场上|魔陷区|怪兽区|墓地|额外牌堆|除外区|卡组|卡组顶端|\(\d+\)){1,2})/.to_s
PositionFilter = /(攻击表示|防守表示|里侧表示|背面守备表示)/.to_s PositionFilter = /(攻击表示|防守表示|里侧表示|背面守备表示)/.to_s
PhaseFilter = /(抽卡`阶段|准备`阶段|主`阶段1|战斗`阶段|主`阶段2|结束`阶段)/.to_s PhaseFilter = /(抽卡`阶段|准备`阶段|主`阶段1|战斗`阶段|主`阶段2|结束`阶段)/.to_s
def self.parse_pos(pos) def self.parse_pos(pos)
...@@ -22,7 +22,7 @@ class Action ...@@ -22,7 +22,7 @@ class Action
:extra :extra
when "除外区" when "除外区"
:removed :removed
when "卡组顶端" when "卡组顶端", "卡组"
:deck :deck
end end
end end
...@@ -145,8 +145,11 @@ class Action ...@@ -145,8 +145,11 @@ class Action
end end
end end
def self.parse(str) def self.parse(str)
str =~ /^\[(\d+)\] (.*)▊▊▊.*?$/m
from_player = false from_player = false
case str
when /^(#{CardFilter}\r\n)*$/m
MultiShow.new from_player, $&.lines.collect{|card|parse_card(card)}
when /^\[(\d+)\] (.*)$/m
id = $1.to_i id = $1.to_i
result = case $2 result = case $2
when /^┊(.*)┊$/m when /^┊(.*)┊$/m
...@@ -157,7 +160,7 @@ class Action ...@@ -157,7 +160,7 @@ class Action
Chat.new from_player, $1 Chat.new from_player, $1
when /^(◎|●)→=\[0:0:0\]==回合结束==<(\d+)>=\[0\]\r\nLP:(\d+)\r\n手卡:(\d+)\r\n卡组:(\d+)\r\n墓地:(\d+)\r\n除外:(\d+)\r\n前场:\r\n #{PositionFilter}#{CardFilter}\r\n #{CardFilter}\r\n #{CardFilter}\r\n #{CardFilter}\r\n #{CardFilter}\r\n后场:#{CardFilter}#{CardFilter}#{CardFilter}#{CardFilter}#{CardFilter}\r\n场地|#{CardFilter}\r\n◎→\\(.*)$/ when /^(◎|●)→=\[0:0:0\]==回合结束==<(\d+)>=\[0\]\r\nLP:(\d+)\r\n手卡:(\d+)\r\n卡组:(\d+)\r\n墓地:(\d+)\r\n除外:(\d+)\r\n前场:\r\n #{PositionFilter}#{CardFilter}\r\n #{CardFilter}\r\n #{CardFilter}\r\n #{CardFilter}\r\n #{CardFilter}\r\n后场:#{CardFilter}#{CardFilter}#{CardFilter}#{CardFilter}#{CardFilter}\r\n场地|#{CardFilter}\r\n◎→\\(.*)$/
Turn_End.new($1 == "◎", $19, $3.to_i, $4.to_i, $5.to_i, $6.to_i, $7.to_i, [parse_fieldcard($18), parse_fieldcard($13), parse_fieldcard($14), parse_fieldcard($15), parse_fieldcard($16), parse_fieldcard($17), parse_fieldcard($8), parse_fieldcard($9), parse_fieldcard($10), parse_fieldcard($11), parse_fieldcard($12)], $2.to_i) Turn_End.new($1 == "◎", $19, $3.to_i, $4.to_i, $5.to_i, $6.to_i, $7.to_i, [parse_fieldcard($18), parse_fieldcard($13), parse_fieldcard($14), parse_fieldcard($15), parse_fieldcard($16), parse_fieldcard($17), parse_fieldcard($8), parse_fieldcard($9), parse_fieldcard($10), parse_fieldcard($11), parse_fieldcard($12)], $2.to_i)
when /^(?:(.*)\r\n){0,1}(◎|●)→(.*)$/m when /^(?:(.*)\r\n)?(◎|●)→(.*)$/m
from_player = $2 == "◎" from_player = $2 == "◎"
msg = $1 msg = $1
case $3 case $3
...@@ -173,13 +176,15 @@ class Action ...@@ -173,13 +176,15 @@ class Action
Side.new from_player Side.new from_player
when "卡组洗切" when "卡组洗切"
Shuffle.new from_player Shuffle.new from_player
when "查看卡组"
Ignored.new "查看卡组"
when "将顶牌放回卡组底部" when "将顶牌放回卡组底部"
ReturnToDeckBottom.new(from_player, :deck) ReturnToDeckBottom.new(from_player, :deck)
when /抽取\((\d+)\)张卡/ when /抽取\((\d+)\)张卡/
MultiDraw.new from_player, $1.to_i MultiDraw.new from_player, $1.to_i
when /\[\d+年\d+月\d+日禁卡表\](?:<(.+)> ){0,1}先攻/ when /\[\d+年\d+月\d+日禁卡表\](?:<(.+)> )?先攻/
FirstToGo.new from_player, $1 FirstToGo.new from_player, $1
when /\[\d+年\d+月\d+日禁卡表\](?:<(.+)> ){0,1}后攻/ when /\[\d+年\d+月\d+日禁卡表\](?:<(.+)> )?后攻/
SecondToGo.new from_player, $1 SecondToGo.new from_player, $1
when /(.*)掷骰子,结果为 (\d+)/ when /(.*)掷骰子,结果为 (\d+)/
Dice.new from_player, $2.to_i, $1 Dice.new from_player, $2.to_i, $1
...@@ -189,7 +194,7 @@ class Action ...@@ -189,7 +194,7 @@ class Action
Activate.new from_player, parse_pos($1), parse_pos($3), parse_card($2) Activate.new from_player, parse_pos($1), parse_pos($3), parse_card($2)
when /从#{PosFilter}~召唤#{CardFilter}#{PosFilter}/ when /从#{PosFilter}~召唤#{CardFilter}#{PosFilter}/
Summon.new from_player, parse_pos($1), parse_pos($3), parse_card($2), msg Summon.new from_player, parse_pos($1), parse_pos($3), parse_card($2), msg
when /从#{PosFilter}~特殊召唤#{CardFilter}#{PosFilter}(?:呈#{PositionFilter}){0,1}/ when /从#{PosFilter}~特殊召唤#{CardFilter}#{PosFilter}(?:呈#{PositionFilter})?/
SpecialSummon.new from_player, parse_pos($1), parse_pos($3), parse_card($2), msg, $4 ? parse_position($4) : :attack SpecialSummon.new from_player, parse_pos($1), parse_pos($3), parse_card($2), msg, $4 ? parse_position($4) : :attack
when /从手卡~取#{CardFilter}盖到#{PosFilter}/ when /从手卡~取#{CardFilter}盖到#{PosFilter}/
Set.new from_player, :hand, parse_pos($2), parse_card($1) Set.new from_player, :hand, parse_pos($2), parse_card($1)
...@@ -201,11 +206,13 @@ class Action ...@@ -201,11 +206,13 @@ class Action
Remove.new from_player, parse_pos($1), parse_card($2) Remove.new from_player, parse_pos($1), parse_card($2)
when /#{CardFilter}#{PosFilter}~放回卡组顶端/ when /#{CardFilter}#{PosFilter}~放回卡组顶端/
ReturnToDeck.new from_player, parse_pos($2), parse_card($1) ReturnToDeck.new from_player, parse_pos($2), parse_card($1)
when /#{CardFilter}#{PosFilter}~放回卡组底端/
ReturnToDeckBottom.new from_player, parse_pos($2), parse_card($1)
when /#{CardFilter}#{PosFilter}返回额外牌堆/ when /#{CardFilter}#{PosFilter}返回额外牌堆/
ReturnToExtra.new from_player, parse_pos($2), parse_card($1) ReturnToExtra.new from_player, parse_pos($2), parse_card($1)
when /从#{PosFilter}#{CardFilter}加入手卡/ when /从#{PosFilter}#{CardFilter}加入手卡/
ReturnToHand.new from_player, parse_pos($1), parse_card($2) ReturnToHand.new from_player, parse_pos($1), parse_card($2)
when /(?:己方){0,1}#{PosFilter}#{CardFilter}效果发(?:\~){0,1}动/ when /(?:己方)?#{PosFilter}.*#{CardFilter}效果发(?:\~)?动/
Effect_Activate.new(from_player, parse_pos($1), parse_card($2)) Effect_Activate.new(from_player, parse_pos($1), parse_card($2))
when /#{PosFilter}#{CardFilter}(?:变|改)为#{PositionFilter}/ when /#{PosFilter}#{CardFilter}(?:变|改)为#{PositionFilter}/
ChangePosition.new(from_player, parse_pos($1), parse_card($2), parse_position($3)) ChangePosition.new(from_player, parse_pos($1), parse_card($2), parse_position($3))
...@@ -221,12 +228,14 @@ class Action ...@@ -221,12 +228,14 @@ class Action
end end
result.id = id result.id = id
result result
else
Unknown.new str
end
end end
def escape def escape
inspect inspect
end end
def run def run
$chat_window.add @from_player, escape if @from_player
$game.action self if @from_player $game.action self if @from_player
end end
class FirstToGo class FirstToGo
...@@ -388,6 +397,11 @@ class Action ...@@ -388,6 +397,11 @@ class Action
end end
end end
end end
class MultiShow
def escape
@cards.collect{|card|card.escape}.join("\r\n")
end
end
class Effect_Activate class Effect_Activate
def escape def escape
pos = case @from_pos pos = case @from_pos
......
...@@ -26,7 +26,7 @@ class Game_Event ...@@ -26,7 +26,7 @@ class Game_Event
PlayerJoin PlayerJoin
when /关闭游戏王NetBattleX .*▊▊▊.*/ when /关闭游戏王NetBattleX .*▊▊▊.*/
PlayerLeave PlayerLeave
when /(\[\d+\] .*▊▊▊.*)/m when /(\[\d+\] .*|(?:#{::Action::CardFilter}\r\n)*)▊▊▊.*/m
Action Action
else else
Error Error
...@@ -76,9 +76,7 @@ class Game_Event ...@@ -76,9 +76,7 @@ class Game_Event
end end
class Action class Action
def self.parse(info) def self.parse(info)
info =~ /(.*)▊▊▊.*/m self.new ::Action.parse(info), info
str = $1 || info
self.new ::Action.parse(info), str
end end
end end
class VerInf class VerInf
......
...@@ -55,23 +55,23 @@ class Scene_Duel < Scene ...@@ -55,23 +55,23 @@ class Scene_Duel < Scene
end end
def change_phase(phase) def change_phase(phase)
Action::ChangePhase.new(@turn_player, [:DP, :SP, :M1, :BP, :M2, :EP][phase]).run action Action::ChangePhase.new(@turn_player, [:DP, :SP, :M1, :BP, :M2, :EP][phase])
if phase == 5 if phase == 5
@turn_player = !@turn_player @turn_player = !@turn_player
@phase = 0 @phase = 0
@phases_window.player = @turn_player @phases_window.player = @turn_player
Action::Turn_End.new(true, "Turn End", $game.player_field.lp, $game.player_field.hand.size, $game.player_field.deck.size, $game.player_field.graveyard.size, $game.player_field.removed.size, $game.player_field, 1).run action Action::Turn_End.new(true, "Turn End", $game.player_field.lp, $game.player_field.hand.size, $game.player_field.deck.size, $game.player_field.graveyard.size, $game.player_field.removed.size, $game.player_field, 1)
else else
@phase = @phases_window.phase = phase @phase = @phases_window.phase = phase
@phases_window.refresh @phases_window.refresh
end end
end end
def reset def reset
Action::Reset.new(true).run action Action::Reset.new(true)
end end
def first_to_go def first_to_go
Action::FirstToGo.new(true).run action Action::FirstToGo.new(true)
end end
def handle(event) def handle(event)
case event case event
...@@ -94,13 +94,13 @@ class Scene_Duel < Scene ...@@ -94,13 +94,13 @@ class Scene_Duel < Scene
when Event::KeyDown when Event::KeyDown
case event.sym case event.sym
when Key::F1 when Key::F1
Action::Shuffle.new.run action Action::Shuffle.new
@player_field_window.refresh @player_field_window.refresh
when Key::F2 when Key::F2
first_to_go first_to_go
@player_field_window.refresh @player_field_window.refresh
when Key::F3 when Key::F3
Action::Dice.new(true).run action Action::Dice.new(true)
when Key::F5 when Key::F5
reset reset
@player_field_window.refresh @player_field_window.refresh
...@@ -111,13 +111,24 @@ class Scene_Duel < Scene ...@@ -111,13 +111,24 @@ class Scene_Duel < Scene
end end
def action(action)
str = action.escape
if str =~ /^\[\d+\] (?:●|◎)→(.*)$/m
str = $1
end
$chat_window.add action.from_player, str if action.from_player
action.run
end
def handle_game(event) def handle_game(event)
case event case event
when Game_Event::Action when Game_Event::Action
$chat_window.add event.action.from_player, event.str str = event.str
event.action.run if str =~ /^\[\d+\] (?:●|◎)→(.*)$/m
str = $1
end
$chat_window.add event.action.from_player, str
action event.action
@player_field_window.refresh @player_field_window.refresh
@opponent_field_window.refresh @opponent_field_window.refresh
when Game_Event::Error when Game_Event::Error
......
...@@ -215,22 +215,22 @@ class Window_Field < Window ...@@ -215,22 +215,22 @@ class Window_Field < Window
end end
def clicked def clicked
return if !@player || @index.nil? return if !@player || @index.nil?
case @index action = case @index
when :deck when :deck
case @action_window.index case @action_window.index
when 0 when 0
Action::Draw.new(true).run Action::Draw.new(true)
when 1 when 1
Action::Shuffle.new.run Action::Shuffle.new
when 2 when 2
p "未实现" p "未实现"
#Action::Draw.new(true).run #Action::Draw.new(true)
when 3 when 3
p "未实现" p "未实现"
when 4 when 4
Action::SendToGraveyard.new(true, :deck, @card).run Action::SendToGraveyard.new(true, :deck, @card)
when 5 when 5
Action::Remove.new(true, :deck, @card).run Action::Remove.new(true, :deck, @card)
when 6 when 6
p "未实现" p "未实现"
when 7 when 7
...@@ -244,129 +244,130 @@ class Window_Field < Window ...@@ -244,129 +244,130 @@ class Window_Field < Window
case @action_window.index case @action_window.index
when 0 when 0
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::SpecialSummon.new(true, :extra, pos, @card, nil, :attack).run Action::SpecialSummon.new(true, :extra, pos, @card, nil, :attack)
else else
p "场位已满" p "场位已满"
end end
when 1 when 1
Action::Effect_Activate.new(true, :extra, @card).run Action::Effect_Activate.new(true, :extra, @card)
when 2 when 2
Action::Remove.new(true, :extra, @card).run Action::Remove.new(true, :extra, @card)
when 3 when 3
Action::SendToGraveyard.new(true, :extra, @card).run Action::SendToGraveyard.new(true, :extra, @card)
end end
when :removed when :removed
case @action_window.index case @action_window.index
when 0 #特殊召唤 when 0 #特殊召唤
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::SpecialSummon.new(true, :removed, pos, @card).run Action::SpecialSummon.new(true, :removed, pos, @card)
else else
p "场位已满" p "场位已满"
end end
when 1 #效果发动 when 1 #效果发动
Action::Effect_Activate.new(true, :removed, @card).run Action::Effect_Activate.new(true, :removed, @card)
when 2 #加入手卡 when 2 #加入手卡
Action::ReturnToHand.new(true, :removed, @card).run Action::ReturnToHand.new(true, :removed, @card)
when 3 when 3
Action::ReturnToDeck.new(true, :removed, @card).run Action::ReturnToDeck.new(true, :removed, @card)
when 4 when 4
Action::SendToGraveyard.new(true, :removed, @card).run Action::SendToGraveyard.new(true, :removed, @card)
end end
when :graveyard when :graveyard
case @action_window.index case @action_window.index
when 0 #特殊召唤 when 0 #特殊召唤
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::SpecialSummon.new(true, :graveyard, pos, @card).run Action::SpecialSummon.new(true, :graveyard, pos, @card)
else else
p "场位已满" p "场位已满"
end end
when 1 #效果发动 when 1 #效果发动
Action::Effect_Activate.new(true, :graveyard, @card).run Action::Effect_Activate.new(true, :graveyard, @card)
when 2 #加入手卡 when 2 #加入手卡
Action::ReturnToHand.new(true, :graveyard, @card).run Action::ReturnToHand.new(true, :graveyard, @card)
when 3 when 3
Action::ReturnToDeck.new(true, :graveyard, @card).run Action::ReturnToDeck.new(true, :graveyard, @card)
when 4 when 4
Action::Remove.new(true, :graveyard, @card).run Action::Remove.new(true, :graveyard, @card)
end end
when 0..5 #后场 when 0..5 #后场
case @action_window.index case @action_window.index
when 0 #效果发动 when 0 #效果发动
Action::Effect_Activate.new(true, @index, @card).run Action::Effect_Activate.new(true, @index, @card)
when 1 #返回卡组 when 1 #返回卡组
Action::ReturnToDeck.new(true, @index, @card).run Action::ReturnToDeck.new(true, @index, @card)
when 2 #送入墓地 when 2 #送入墓地
Action::SendToGraveyard.new(true, @index, @card).run Action::SendToGraveyard.new(true, @index, @card)
when 3 #从游戏中除外 when 3 #从游戏中除外
Action::Remove.new(true, @index, @card).run Action::Remove.new(true, @index, @card)
when 4 #加入手卡 when 4 #加入手卡
Action::ReturnToHand.new(true, @index, @card).run Action::ReturnToHand.new(true, @index, @card)
when 5 #盖伏 when 5 #盖伏
Action::ChangePosition.new(true, @index, @card, :set).run Action::ChangePosition.new(true, @index, @card, :set)
end end
when 6..10 #前场 when 6..10 #前场
case @action_window.index case @action_window.index
when 0 when 0
Action::ChangePosition.new(true, @index, @card, :attack).run Action::ChangePosition.new(true, @index, @card, :attack)
when 1 when 1
Action::ChangePosition.new(true, @index, @card, :defense).run Action::ChangePosition.new(true, @index, @card, :defense)
when 2 when 2
Action::ChangePosition.new(true, @index, @card, :set).run Action::ChangePosition.new(true, @index, @card, :set)
when 3 when 3
Action::FlipSummon.new(true, @index, @card).run Action::FlipSummon.new(true, @index, @card)
when 4 when 4
Action::Flip.new(true, @index, @card).run Action::Flip.new(true, @index, @card)
when 5 when 5
Action::Effect_Activate.new(true, @index, @card).run Action::Effect_Activate.new(true, @index, @card)
when 6 when 6
p "未实现" p "未实现"
when 7 when 7
p "未实现" p "未实现"
when 8 when 8
Action::ReturnToDeck.new(true, @index, @card).run Action::ReturnToDeck.new(true, @index, @card)
when 9 when 9
Action::SendToGraveyard.new(true, @index, @card).run Action::SendToGraveyard.new(true, @index, @card)
when 10 when 10
Action::Tribute.new(true, @index, @card).run Action::Tribute.new(true, @index, @card)
when 11 when 11
Action::ReturnToHand.new(true, @index, @card).run Action::ReturnToHand.new(true, @index, @card)
end end
when Integer #手卡 when Integer #手卡
case @action_window.index case @action_window.index
when 0 #召唤 when 0 #召唤
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::Summon.new(true, :hand, pos, @card).run Action::Summon.new(true, :hand, pos, @card)
else else
p "场位已满" p "场位已满"
end end
when 1 #特殊召唤 when 1 #特殊召唤
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::SpecialSummon.new(true, :hand, pos, @card, nil, :attack).run Action::SpecialSummon.new(true, :hand, pos, @card, nil, :attack)
else else
p "场位已满" p "场位已满"
end end
when 2 #发动 when 2 #发动
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::Activate.new(true, :hand, pos, @card).run Action::Activate.new(true, :hand, pos, @card)
else else
p "场位已满" p "场位已满"
end end
when 3 #放置 when 3 #放置
if pos = @field.empty_field(@card) if pos = @field.empty_field(@card)
Action::Set.new(true, :hand, pos, @card).run Action::Set.new(true, :hand, pos, @card)
else else
p "场位已满" p "场位已满"
end end
when 4 #返回卡组 when 4 #返回卡组
Action::ReturnToDeck.new(true, :hand, @card).run Action::ReturnToDeck.new(true, :hand, @card)
when 5 #送入墓地 when 5 #送入墓地
Action::SendToGraveyard.new(true, :hand, @card).run Action::SendToGraveyard.new(true, :hand, @card)
when 6 #从游戏中除外 when 6 #从游戏中除外
Action::Remove.new(true, :hand, @card).run Action::Remove.new(true, :hand, @card)
when 7 #效果发动 when 7 #效果发动
Action::Effect_Activate.new(true, :hand, @card).run Action::Effect_Activate.new(true, :hand, @card)
end end
end end
$scene.action action
@index = nil @index = nil
refresh refresh
mousemoved(Mouse.state[0], Mouse.state[1]) mousemoved(Mouse.state[0], Mouse.state[1])
......
...@@ -2,13 +2,14 @@ ...@@ -2,13 +2,14 @@
# and open the template in the editor. # and open the template in the editor.
class Window_RoomChat < Window class Window_RoomChat < Window
WLH=16
require_relative 'widget_scrollbar' require_relative 'widget_scrollbar'
Player_Color = [0,0,0xFF] Player_Color = [0,0,0xFF]
Opponent_Color = [0x66,0x66,0] Opponent_Color = [0x66,0x66,0]
def initialize(x, y, width, height) def initialize(x, y, width, height)
super(x,y,width,height-WLH) super(x,y,width,height-WLH)
@chat_input = Widget_InputBox.new(@x,@y+@height,@width,WLH){|text|Action::Chat.new(true, text).run} @chat_input = Widget_InputBox.new(@x,@y+@height,@width,WLH){|text|Action::Chat.new(true, text).run}
@font = TTF.open("fonts/WenQuanYi Micro Hei.ttf", 16) @font = TTF.open("fonts/WenQuanYi Micro Hei.ttf", 14)
@contents.fill_rect(0,0,@width, @height, 0x99FFFFFF) @contents.fill_rect(0,0,@width, @height, 0x99FFFFFF)
@scroll = Widget_ScrollBar.new(@x+@width-20,@y,@height,0) @scroll = Widget_ScrollBar.new(@x+@width-20,@y,@height,0)
@list = [] @list = []
......
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