- Home /
Finding the Sum of Values of Multiple GameObjects in an Array + Variable Sized arrays
So I'm currently doing a Blackjack game and my original intent was to make each card it's own separate object which would only be rendered once the player clicked hit. I want to make it slightly more sophisticated, so I've created a new GameObject/Script called BoxController.
What I want to do is, in BoxController, have an array with the card GameObjects (which attached to them is a script containing the variable I want to access (The card number).
Once I access this variable, I then want to figure out the total amount of
My Current Relevant Script is here:
BoxController (Script 1):
{
//This is the array that contains the card gameobjects which in turn have the script attached.
public gameObject[] cardsInBox;
float boxTotal = 0;
for (int i = 0; i < cardsInBox[].Length; i++)
{
//This is the line I'm very unsure about, I want to grab the variables from Cards, and then add them all together to form boxTotal.
boxTotal += cardsInBox[i].cardNumber about;
}
return boxTotal;
}
Cards (Script 2):
//This is what I'm trying to access, there will be multiple gameObjects containing these.
public int cardNumber = 1;
public int suitTexture = 0;
//The card number is changed when Instantiated.
void Randomizer()
{
//If the space bar is hit, randomize card values and suit values
if (Input.GetKeyDown(KeyCode.Space))
{
cardNumber = (int)Random.Range (1,13);
suitNumber = (int)Random.Range (0,4);
}
}
Also, I want to be able to instantiate and add a new card into cardsInBox[] every time the "Hit" button is clicked, I'm assuming it would go something like this:
for (int j = 0; j < cardCount, j++)
{
for (int i = 0; i < cardCount, i++)
{
//instantiate a card, with vector 3 x and z being incremented by j(This way the cards keep moving and don't
}
}
if (Input.GetKeyDown(Keycode.H))
{
cardCount++;
}
I haven't tried it in unity yet as I'm very unsure whether I can change the size in an array using this method.
If anything is unclear please let me know and I'll clarify.