vbox arrangement change
This commit is contained in:
parent
4c5eca0e30
commit
1298257b0e
@ -125,9 +125,14 @@ function Vbox(args) {
|
||||
// VBOX
|
||||
//
|
||||
const free = [];
|
||||
for (let i = 0; i < 6; i++) {
|
||||
free.push([vbox.free[0][i], vbox.free[1][i], vbox.free[2][i]]);
|
||||
}
|
||||
|
||||
// Colours
|
||||
free.push([vbox.free[0][0], vbox.free[0][1], vbox.free[0][2]]);
|
||||
free.push([vbox.free[0][3], vbox.free[0][4], vbox.free[0][5]]);
|
||||
// Skills
|
||||
free.push([vbox.free[1][0], vbox.free[1][1], vbox.free[1][2]]);
|
||||
// Specs
|
||||
free.push([vbox.free[2][0], vbox.free[2][1], vbox.free[2][2]]);
|
||||
|
||||
let vboxTimer;
|
||||
const LONG_TOUCH_TIME = 500;
|
||||
@ -163,7 +168,8 @@ function Vbox(args) {
|
||||
const freeRows = free.map((row, i) => {
|
||||
const cells = row.map((c, j) => {
|
||||
const highlighted = c && vboxHighlight.includes(c);
|
||||
|
||||
const sendItemType = i > 1 ? i - 1 : 0;
|
||||
const sendItemIndex = i === 1 ? j + 3 : j;
|
||||
return <td
|
||||
key={j}
|
||||
class={`${highlighted ? 'highlight' : ''}`}
|
||||
@ -172,7 +178,7 @@ function Vbox(args) {
|
||||
onTouchMove={e => vboxTouchMove(e)}
|
||||
|
||||
// onClick={freeClick}
|
||||
onDblClick={() => sendVboxAccept(j, i) }
|
||||
onDblClick={() => sendVboxAccept(sendItemType, sendItemIndex) }
|
||||
onMouseOver={e => vboxHover(e, c)}
|
||||
>
|
||||
{convertItem(c)}
|
||||
@ -282,12 +288,14 @@ function Vbox(args) {
|
||||
return setInfo(info);
|
||||
}
|
||||
|
||||
const classes = `vbox`;
|
||||
const classes = "vbox";
|
||||
const reclaimClass = `vbox-btn reclaim ${reclaiming ? 'reclaiming' : ''}`;
|
||||
|
||||
return (
|
||||
<div class={classes}>
|
||||
<div class='vbox-box' onClick={() => setReclaiming(false)} onMouseOver={e => hoverInfo(e, 'vbox')} >
|
||||
<div class='vbox-box'
|
||||
onClick={() => setReclaiming(false)}
|
||||
onMouseOver={e => hoverInfo(e, 'vbox')}>
|
||||
<div class="vbox-hdr">
|
||||
<h3 onTouchStart={e => e.target.scrollIntoView(true)}>VBOX</h3>
|
||||
<div class="bits" onMouseOver={e => hoverInfo(e, 'bits')} >{vbox.bits}b</div>
|
||||
@ -305,7 +313,9 @@ function Vbox(args) {
|
||||
</div>
|
||||
<div class="vbox-arrow">⮞</div>
|
||||
<div class="vbox-arrow-mobile">⮟</div>
|
||||
<div class='vbox-inventory' onClick={() => setReclaiming(false)} onMouseOver={e => hoverInfo(e, 'inventory')} >
|
||||
<div class='vbox-inventory'
|
||||
onClick={() => setReclaiming(false)}
|
||||
onMouseOver={e => hoverInfo(e, 'inventory')}>
|
||||
<div class="vbox-hdr">
|
||||
<h3 onTouchStart={e => e.target.scrollIntoView(true)}>INVENTORY</h3>
|
||||
<button
|
||||
|
||||
@ -26,6 +26,12 @@ pub struct Vbox {
|
||||
pub bound: Vec<Item>,
|
||||
}
|
||||
|
||||
pub enum ItemType {
|
||||
Colours,
|
||||
Skills,
|
||||
Specs,
|
||||
}
|
||||
|
||||
impl Vbox {
|
||||
pub fn new() -> Vbox {
|
||||
let starting_items = vec![
|
||||
@ -57,36 +63,38 @@ impl Vbox {
|
||||
}
|
||||
|
||||
pub fn fill(&mut self) -> &mut Vbox {
|
||||
let colours = vec![
|
||||
(Item::Red, 1),
|
||||
(Item::Green, 1),
|
||||
(Item::Blue, 1),
|
||||
];
|
||||
let mut rng = thread_rng();
|
||||
|
||||
let skills = vec![
|
||||
self.free = [ItemType::Colours, ItemType::Skills, ItemType::Specs].iter()
|
||||
.map(|item_type| {
|
||||
let items = match item_type {
|
||||
ItemType::Colours => vec![
|
||||
(Item::Red, 2),
|
||||
(Item::Green, 1),
|
||||
(Item::Blue, 2),
|
||||
],
|
||||
ItemType::Skills => vec![
|
||||
(Item::Attack, 1),
|
||||
(Item::Block, 1),
|
||||
(Item::Buff, 1),
|
||||
(Item::Debuff, 1),
|
||||
(Item::Stun, 1),
|
||||
];
|
||||
|
||||
let specs = vec![
|
||||
],
|
||||
ItemType::Specs => vec![
|
||||
(Item::Power, 1),
|
||||
(Item::Life, 1),
|
||||
(Item::Speed, 1),
|
||||
];
|
||||
],
|
||||
};
|
||||
|
||||
let mut rng = thread_rng();
|
||||
|
||||
self.free = [&colours, &skills, &specs].iter()
|
||||
.map(|items| {
|
||||
let dist = WeightedIndex::new(items.iter().map(|item| item.1)).unwrap();
|
||||
|
||||
iter::repeat_with(|| {
|
||||
items[dist.sample(&mut rng)].0
|
||||
})
|
||||
.take(6)
|
||||
.take(match item_type {
|
||||
ItemType::Colours => 6,
|
||||
_ => 3,
|
||||
})
|
||||
.collect::<Vec<Item>>()
|
||||
})
|
||||
.collect::<Vec<Vec<Item>>>();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user