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