- Home /
Click to Change Public GameObject Variable
Okay, so I'm making a turn based strategy game that uses trading cards, and I'm trying to code in interaction between the cards.
So, in Card A's script there is a public GameObject variable called otherCard. What I want to happen is, when Card B is clicked on, otherCard becomes Card B. Does that make sense?
I know there's probably some simple solution that I'm missing but I've been wracking my brain over it all morning, trying all sorts of conveluted methods, and I've gotten nowhere.
Any help would be desperately appreciated. Coding in C#
What do you have in $$anonymous$$d when you say "I want to become" ? Swap places ? switch texture ? switch geometry ?
They aren't swapping anything. Basically, in the script of Card A there is a public GameObject variable that I want to become Card B when Card B is clicked on.
Extract from script of Card A:
public GameObject otherCard;
I need otherCard to become Card B when Card B is clicked on.
Is Card A always the same? Why does Card A's script have to know which card is B? Wouldn't it be better if it was handled by a third script?
Anyway, use the On$$anonymous$$ouseDown method to detect when you click on the cards. $$anonymous$$ake sure it has a collider attached
Card A is always the same, but Card B changes. I tried having it be handled by a third script but that didn't really solve anything.
What I have so far is that when Card A is clicked on, it enters selection mode. What I want to happen from there is for the next card I click on to become otherCard.
Answer by malekbakeer · Jun 11, 2014 at 12:08 PM
try that but i can't help without java...
//this is card **B**
var cardA : CardA;
// up here the name on the right must be your card A scriptName so **change it**
function OnMouseDown ()
{
cardA.otherCard = currentCard[0];
// here it will automaticly assain the cardB into cardA's script
}
------------------------------------------------------------------------------------
//this is card **A**
var currentCard : GameObject[];
var otherCard : GameObject;
//up here assign your card B and other cards if you want its an (Array)
//do your thing here
Your answer
Follow this Question
Related Questions
How to I make a explode on Raycast? 1 Answer
TBG,If,While 1 Answer
2D Spawn with fixed random locations 0 Answers
How to store player input in turn-based game? 0 Answers
Application.Loadlevel NOT WORKING! 2 Answers