vbox accept
This commit is contained in:
parent
01468c7081
commit
04714dfdfd
@ -28,8 +28,8 @@ function registerEvents(registry, events, tutorial) {
|
|||||||
registry.set('activeSkill', skill);
|
registry.set('activeSkill', skill);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setItems(items) {
|
function setVbox(items) {
|
||||||
registry.set('itemList', items);
|
registry.set('vbox', items);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setZone(zone) {
|
function setZone(zone) {
|
||||||
@ -177,7 +177,7 @@ function registerEvents(registry, events, tutorial) {
|
|||||||
setActiveSkill,
|
setActiveSkill,
|
||||||
setCryps,
|
setCryps,
|
||||||
setGame,
|
setGame,
|
||||||
setItems,
|
setVbox,
|
||||||
setWs,
|
setWs,
|
||||||
setGameList,
|
setGameList,
|
||||||
setZone,
|
setZone,
|
||||||
|
|||||||
@ -111,10 +111,6 @@ function createSocket(events) {
|
|||||||
events.setActiveSkill(null);
|
events.setActiveSkill(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendItemUse(item, target) {
|
|
||||||
send({ method: 'item_use', params: { item, target } });
|
|
||||||
}
|
|
||||||
|
|
||||||
function sendZoneCreate() {
|
function sendZoneCreate() {
|
||||||
send({ method: 'zone_create', params: {} });
|
send({ method: 'zone_create', params: {} });
|
||||||
}
|
}
|
||||||
@ -187,7 +183,7 @@ function createSocket(events) {
|
|||||||
zone_create: res => console.log(res),
|
zone_create: res => console.log(res),
|
||||||
zone_state: zoneState,
|
zone_state: zoneState,
|
||||||
zone_close: res => console.log(res),
|
zone_close: res => console.log(res),
|
||||||
|
vbox_state: res => console.log(res),
|
||||||
};
|
};
|
||||||
|
|
||||||
function errHandler(error) {
|
function errHandler(error) {
|
||||||
@ -274,7 +270,6 @@ function createSocket(events) {
|
|||||||
sendCrypSpawn,
|
sendCrypSpawn,
|
||||||
sendCrypLearn,
|
sendCrypLearn,
|
||||||
sendCrypForget,
|
sendCrypForget,
|
||||||
sendItemUse,
|
|
||||||
sendSpecForget,
|
sendSpecForget,
|
||||||
sendZoneCreate,
|
sendZoneCreate,
|
||||||
sendZoneJoin,
|
sendZoneJoin,
|
||||||
|
|||||||
@ -80,7 +80,7 @@ impl Rpc {
|
|||||||
|
|
||||||
"vbox_state" => Rpc::vbox_state(data, &mut tx, account.unwrap(), client),
|
"vbox_state" => Rpc::vbox_state(data, &mut tx, account.unwrap(), client),
|
||||||
"vbox_accept" => Rpc::vbox_accept(data, &mut tx, account.unwrap(), client),
|
"vbox_accept" => Rpc::vbox_accept(data, &mut tx, account.unwrap(), client),
|
||||||
"vbox_discard" => Rpc::vbox_accept(data, &mut tx, account.unwrap(), client),
|
"vbox_discard" => Rpc::vbox_discard(data, &mut tx, account.unwrap(), client),
|
||||||
"vbox_combine" => Rpc::vbox_combine(data, &mut tx, account.unwrap(), client),
|
"vbox_combine" => Rpc::vbox_combine(data, &mut tx, account.unwrap(), client),
|
||||||
|
|
||||||
_ => Err(format_err!("unknown method - {:?}", v.method)),
|
_ => Err(format_err!("unknown method - {:?}", v.method)),
|
||||||
@ -633,7 +633,7 @@ struct VboxAcceptMsg {
|
|||||||
#[derive(Debug,Clone,Serialize,Deserialize)]
|
#[derive(Debug,Clone,Serialize,Deserialize)]
|
||||||
pub struct VboxAcceptParams {
|
pub struct VboxAcceptParams {
|
||||||
pub game_id: Uuid,
|
pub game_id: Uuid,
|
||||||
pub index: u8,
|
pub index: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug,Clone,Serialize,Deserialize)]
|
#[derive(Debug,Clone,Serialize,Deserialize)]
|
||||||
|
|||||||
@ -63,6 +63,18 @@ impl Vbox {
|
|||||||
|
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn accept(&mut self, i: usize) -> Result<&mut Vbox, Error> {
|
||||||
|
if self.bound.len() > 8 {
|
||||||
|
return Err(err_msg("too many vars bound"));
|
||||||
|
}
|
||||||
|
|
||||||
|
self.free.get(i).ok_or(format_err!("no var at index {:?}", i))?;
|
||||||
|
|
||||||
|
self.bound.push(self.free.remove(i));
|
||||||
|
|
||||||
|
Ok(self)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn vbox_write(vbox: Vbox, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
pub fn vbox_write(vbox: Vbox, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
||||||
@ -109,7 +121,7 @@ pub fn vbox_get(tx: &mut Transaction, game_id: Uuid, account: &Account) -> Resul
|
|||||||
|
|
||||||
pub fn vbox_state(params: VboxStateParams, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
pub fn vbox_state(params: VboxStateParams, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
||||||
match vbox_get(tx, params.game_id, account) {
|
match vbox_get(tx, params.game_id, account) {
|
||||||
Ok(v) => Ok(v),
|
Ok(v) => Ok(v.fill()),
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
println!("{:?}", e);
|
println!("{:?}", e);
|
||||||
vbox_write(Vbox::new(account.id, params.game_id).fill(), tx, account)
|
vbox_write(Vbox::new(account.id, params.game_id).fill(), tx, account)
|
||||||
@ -123,8 +135,11 @@ pub fn vbox_discard(params: VboxDiscardParams, tx: &mut Transaction, account: &A
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn vbox_accept(params: VboxAcceptParams, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
pub fn vbox_accept(params: VboxAcceptParams, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
||||||
let vbox = vbox_get(tx, params.game_id, account)?;
|
let mut vbox = vbox_get(tx, params.game_id, account)?;
|
||||||
return Ok(vbox);
|
|
||||||
|
vbox.accept(params.index)?;
|
||||||
|
|
||||||
|
return vbox_write(vbox, tx, account);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn vbox_combine(params: VboxCombineParams, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
pub fn vbox_combine(params: VboxCombineParams, tx: &mut Transaction, account: &Account) -> Result<Vbox, Error> {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user