mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-23 21:23:35 +00:00
31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
#pragma once
|
|
// 4J - this WeighedRandomItem class was a nested static class within
|
|
// WeighedRandom, but we need to be able to refer to it externally
|
|
|
|
class WeighedRandomItem {
|
|
friend class WeighedRandom;
|
|
|
|
protected:
|
|
int randomWeight;
|
|
|
|
public:
|
|
WeighedRandomItem(int randomWeight) { this->randomWeight = randomWeight; }
|
|
};
|
|
|
|
class WeighedRandom {
|
|
public:
|
|
// 4J - vectors here were Collection<? extends WeighedRandomItem>
|
|
static int getTotalWeight(std::vector<WeighedRandomItem*>* items);
|
|
static WeighedRandomItem* getRandomItem(
|
|
Random* random, std::vector<WeighedRandomItem*>* items,
|
|
int totalWeight);
|
|
static WeighedRandomItem* getRandomItem(
|
|
Random* random, std::vector<WeighedRandomItem*>* items);
|
|
static int getTotalWeight(WeighedRandomItemArray items);
|
|
static WeighedRandomItem* getRandomItem(Random* random,
|
|
WeighedRandomItemArray items,
|
|
int totalWeight);
|
|
static WeighedRandomItem* getRandomItem(Random* random,
|
|
WeighedRandomItemArray items);
|
|
};
|