private void InitCardBehavior(CardBehavior InCardBehavior, Card InCard) { InCardBehavior.Card = InCard; InCardBehavior.GetImageComponents(); InCardBehavior.FrontImageComponent.sprite = InCard.ImageFront; InCardBehavior.BackImageComponent.sprite = InCard.ImageBack; }
public void CreatePrefab() { var go = GameObject.Instantiate(Resources.Load("Card") as GameObject); behavior = go.GetComponent <CardBehavior>(); behavior.Init(data, this); }
public void DrawCard() { int n = cardsInDeck.Count; if (n <= 0) { return; } // generate a card at deck positoin Vector3 pos = new Vector3(0.3f, 0.11f, -2.9f); CardBehavior go = Instantiate(card, pos, Quaternion.identity); string s = cardsInDeck[n - 1]; // get and remove a card cardsInDeck.RemoveAt(n - 1); go.SetTexture(s); cardsInHand.Add(go); go.inHand = true; //Frame frame = provider.CurrentFrame; /* * foreach (Hand hand in frame.Hands) * { * if (hand.IsLeft) * { * go.attachedTo = hand; * } * * } */ }
void ShuffleCards(CombatantBehavior combatant, Transform combatantTransform) { bool keepGoing = true; while (keepGoing) { if (combatant.GetNextOpenSlot() < handAmount && combatant.GetNextOpenSlot() != -1) { int openSlot = combatant.GetNextOpenSlot(); //Probably not good to try/catch this. try { CardBehavior card = cardScripts[combatant.GetCardInSlot(openSlot + 1)]; card.MoveSlot(openSlot, combatantTransform.GetChild(openSlot)); combatant.SetOccupiedSlot(openSlot + 1, false, -1); combatant.SetOccupiedSlot(card.GetSlot(), true, card.GetSessionId()); } catch { keepGoing = false; } } else { keepGoing = false; } } }
public void SetCards(List <Card> newCards, bool faceDown = false) { Cards = newCards; foreach (Transform child in transform) { Destroy(child.gameObject); } cardObjects.Clear(); float cardSpacing = 12.0f; float firstCardOffset = -1 * (Cards.Count - 1) / 2.0f * cardSpacing; for (int i = 0; i < Cards.Count; i++) { GameObject newCard = Instantiate(CardPrefab, transform); cardObjects.Add(newCard); CardBehavior cardBehavior = newCard.GetComponent <CardBehavior>(); SelectableObjectBehavior selectableObjectBehavior = newCard.GetComponent <SelectableObjectBehavior>(); //selectableObjectBehavior.ClickEnabled = CanChooseCard; cardBehavior.SetCard(Cards[i], faceDown); cardBehavior.CardSelectedEvent.AddListener(OnCardClick); newCard.transform.localPosition = new Vector3(firstCardOffset + i * cardSpacing, 0.0f, 0.0f); } }
public void AttachCardTo(GameObject gameObjectToAttachTo) { CardBehavior behaviorComponent = GetBehaviorComponent(gameObjectToAttachTo); behaviorComponent.SetConfig(this); behavior = behaviorComponent; }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Space)) { enemyScript.CardMoveTest(); } if (updateMousePos) { selectedCard.transform.position = camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 140)); //Don't use constant for z but it's f****d up. } Hover(Input.mousePosition); if (Input.GetMouseButtonDown(0) && !updateMousePos) { Click(Input.mousePosition); } if (Input.GetMouseButtonUp(0)) { if (selectedButton != null) { selectedButton.Select(false); selectedButton = null; EndTurn(); } } if (Input.GetMouseButtonUp(0) && updateMousePos) { updateMousePos = false; if (selectedButton != null) { selectedButton.Select(false); selectedButton = null; //PlayCard(); } if (selectedCard != null && !selectedCard.GetInPlayArea()) { //selectedCard.transform.localPosition = oldCardPosition; selectedCard.Reset(); //selectedCard.Select(false); selectedCard = null; //PlayCard(); } else if (selectedCard != null && selectedCard.GetInPlayArea()) { if (playAreaCard != null) { playAreaCard.Reset(); } selectedCard.SetAreaParent(); playAreaCard = selectedCard; } } }
public void HandToPinch(GameObject cc) { CardBehavior cb = cc.GetComponent <CardBehavior>(); cb.inHand = false; cb.pinched = true; cardsInHand.Remove(cb); }
public void RenderCardSize() { int n = cardsInHand.Count; for (int i = 0; i < n; i++) { CardBehavior go = (CardBehavior)cardsInHand[i]; go.SetScale(targetSize); } }
public void OnClick(CardBehavior instance) { if (!_isAnimationRunning) { _isAnimationRunning = true; instance.PlayAnimation(); instance.PlayAudio(); Context.GetInstance().firstInstance = instance; } }
void EndTurn() { sideTurn++; if (sideTurn > sidesAmount - 1) { sideTurn = 0; } turnCount++; for (int k = 0; k < amtCombatants; k++) { if (activeCombatants[k] != null) { FillHand(activeCombatants[k]); combatantScripts[k].ResetAp(sideTurn); //Fill combatant AP to max AP if it is the beginning of their turn. } } //Change Turn Text if (sideTurn == 0) { turnText0.text = "Turn"; turnText1.text = ""; } else { turnText0.text = ""; turnText1.text = "Turn"; } //Deselect Cards and Combatants if (selectedCard != null) { selectedCard.Reset(); selectedCard = null; } if (selectedCombatant != null) { selectedCombatant.Select(false); selectedCombatant = null; } //Tell AI it's their turn. if (AI_Enabled) { if (sideTurn == enemyScript.GetSide()) { enemyScript.IsTurn(true); } } }
public void OnClick(CardBehavior instance) { if (!_isAnimationRunning && Context.GetInstance().firstInstance.GetInstanceID() != instance.GetInstanceID()) { ; } { _isAnimationRunning = true; instance.PlayAnimation(); instance.PlayAudio(); Context.GetInstance().secondInstance = instance; } }
void Hover(Vector3 mposition) { RaycastHit hit; Ray ray = camera.ScreenPointToRay(mposition); if (Physics.Raycast(ray, out hit)) { Transform objectHit = hit.transform; if (objectHit.tag == "Card") { if (highlightedCard != null) { highlightedCard.Highlight(false); } highlightedCard = objectHit.gameObject.GetComponent <CardBehavior>(); highlightedCard.Highlight(true); } else if (objectHit.tag == "Button") { highlightedButton = objectHit.gameObject.GetComponent <ButtonBehavior>(); highlightedButton.Highlight(true); } else if (objectHit.tag == "Combatant") { highlightedCombatant = objectHit.gameObject.GetComponent <CombatantBehavior>(); highlightedCombatant.Highlight(true); } else { if (highlightedCard != null) { highlightedCard.Highlight(false); highlightedCard = null; } if (highlightedButton != null) { highlightedButton.Highlight(false); highlightedButton = null; } if (highlightedCombatant != null) { highlightedCombatant.Highlight(false); highlightedCombatant = null; } } } }
public void OnDrop_Card(PointerEventData EventData, CardBehavior Card) { if (AllowedCardTypes.Contains(Card.Card.CardType)) { var CardRectTransform = (RectTransform)Card.transform; Card.GetComponent <Draggable>().ParentToReturnTo = this.transform; CardRectTransform.SetParent(transform); CardRectTransform.transform.SetParent(transform); CardRectTransform.transform.SetAsLastSibling(); CardRectTransform.sizeDelta = ((RectTransform)this.transform).sizeDelta; Card.SetFacing(true); Cards.Add(Card); } }
private bool hasCardOfSuit(CardSuit suit) { foreach (GameObject cardObj in cardObjects) { if (cardObj) //in case destroyed and didn't cleanup list { CardBehavior cardB = cardObj.GetComponent <CardBehavior>(); if (cardB.GetCard().Suit == suit) { return(true); } } } return(false); }
private void Awake() { theCard = GetComponent <CardDisplay>(); m_cardBehavior = GetComponent <CardBehavior>(); deck = FindObjectOfType <Stack>(); enemyController = FindObjectOfType <EnemyController>(); //get the rectTransform from playArea playArea = GameObject.FindGameObjectWithTag("PlayArea").GetComponent <RectTransform>(); //get the combat controller combatController = FindObjectOfType <CombatController>(); //get the reward controller rewardController = FindObjectOfType <RewardController>(); //get the GameStateController gameController = FindObjectOfType <GameStateController>(); }
private void DrawCard(GameObject targetCard, int NewCardIndex, int NewCardRow) { //Select a random card from those in the collection System.Random randomInt = new System.Random(); int randomIndex = randomInt.Next(collectionToDrawFrom.Count); GameObject randomCard = collectionToDrawFrom[randomIndex]; Log("Random index: " + randomIndex + NL + "Random card: " + randomCard.name); //"Draw" a random card if (myDrawMethod == DrawMethod.replaceTargetSprite) { Log("Changing " + targetCard.name + " to " + randomCard.name); CopyCardSprite(randomCard, targetCard); } else if (myDrawMethod == DrawMethod.CreateNewCardAtTarget) { Log("Created " + randomCard.name + " at " + targetCard.transform.position); GameObject newCard = Instantiate(randomCard, targetCard.transform.position, new Quaternion()); //Set sorting layer so newest drawn card is topmost newCard.GetComponent <SpriteRenderer>().sortingOrder = session.CurrentCardLayer; session.CurrentCardLayer++; //Disable the "dragToMove" CardBehavior newCardBehavior = newCard.GetComponent <CardBehavior>(); newCardBehavior.ClickToDrag = false; newCardBehavior.Row = NewCardRow; newCardBehavior.Index = NewCardIndex; //Update current card session.CurrentCard = newCard; } session.TotalDrawnCards++; //Play Sfx SfxPlayer player = GetComponent <SfxPlayer>(); if (player != null) { player.SelectNewClip(); player.GetComponent <AudioSource>().Play(); } }
public void Validation() { CardBehavior firstCard = Context.GetInstance().firstInstance; CardBehavior secondCard = Context.GetInstance().secondInstance; if (firstCard.GetCurrentSprite().name == secondCard.GetCurrentSprite().name) { Context.GetInstance().firstInstance.Dispose(); Context.GetInstance().secondInstance.Dispose(); Context.GetInstance().currentState = Context.GetInstance().NoCards; Context.GetInstance().firstInstance = null; Context.GetInstance().secondInstance = null; } else { firstCard.PlayAnimation(); secondCard.PlayAnimation(); } }
public void AnimationEnd(CardBehavior instance) { if (Context.GetInstance().firstInstance.GetInstanceID() == instance.GetInstanceID()) { IsAnimationFinished_1 = true; } if (Context.GetInstance().secondInstance.GetInstanceID() == instance.GetInstanceID()) { IsAnimationFinished_2 = true; } if (IsAnimationFinished_1 && IsAnimationFinished_2) { IsAnimationFinished_1 = false; IsAnimationFinished_2 = false; Context.GetInstance().currentState = Context.GetInstance().NoCards; Context.GetInstance().firstInstance = null; Context.GetInstance().secondInstance = null; } }
// Bir element seçildiği taktirde bir element spawn eder ve seçilen elemente göre çevresindeki elektronları açar void RealSpawn(GameObject Kart, CardBehavior Script) { if (Script.element == null) { Script.element = Maneger.CompoundFinderer.instantiateionObj.GetComponent <ElementsBehavior>().element; isPlaced = true; Kart.transform.transform.Find("Element").gameObject.SetActive(true); ElektronOpen(Script.element.elektronCaunt, Kart); } else { ElektronClose(Kart); Script.element = null; Script.element = Maneger.CompoundFinderer.instantiateionObj.GetComponent <ElementsBehavior>().element; ElektronOpen(Script.element.elektronCaunt, Kart); } }
public void SetSelectableCards(bool canSelect, CardSuit?allowedSuit = null) { foreach (GameObject cardObj in cardObjects) { if (cardObj) //in case destroyed and didn't cleanup list { CardBehavior cardB = cardObj.GetComponent <CardBehavior>(); SelectableObjectBehavior selBehave = cardObj.GetComponent <SelectableObjectBehavior>(); if (canSelect && (allowedSuit == null || !hasCardOfSuit((CardSuit)allowedSuit) || (cardB.GetCard().Suit == allowedSuit))) { selBehave.ClickEnabled = true; } else { selBehave.ClickEnabled = false; } } } }
/* * //PlayCard With Button * void PlayCard() * { * if (selectedCard != null && selectedCombatant != null) * { * //Attack Card * if (selectedCard.GetEffect() == 0 && selectedCombatant.side != sideTurn) //make side a getter. * { * if (selectedCombatant.Damage(selectedCard.GetDamageVal()) <= 0) //Call HPAdjust, do damage, if it brings the combatant's HP zero, kill it. * { * selectedCombatant.Die(); * selectedCombatant = null; * } * selectedCard.Die(); * selectedCard = null; * EndTurn(); * } * //Healer Card * else if (selectedCard.GetEffect() == 1) * { * Debug.Log("Healing Card. Not yet implemented."); * EndTurn(); * } * else * { * Debug.Log("Card Has No Effect"); * } * //EndTurn(); * } * } */ //PlayCard With PlayArea void PlayCard() { if (playAreaCard != null && selectedCombatant != null) { //Attack Card if (playAreaCard.GetEffect() == 0 && selectedCombatant.side != sideTurn) //make side a getter. { CombatantBehavior owningCombatant = combatantScripts[playAreaCard.GetCombatant()]; if (owningCombatant.EvalCardCost(playAreaCard.GetApCost())) //Evaluate if we have enough AP to use card then remove action points based on card AP cost. { if (selectedCombatant.Damage(playAreaCard.GetDamageVal()) <= 0) //Call HPAdjust, do damage, if it brings the combatant's HP zero, kill it. { KillCombatant(selectedCombatant); } //owningCombatant.SubtractAp(playAreaCard.GetApCost()); //Remove action points based on card AP cost. owningCombatant.SetOccupiedSlot(playAreaCard.GetSlot(), false, -1); //Set slot's occupied slot to empty. ShuffleCards(owningCombatant, activeCombatants[playAreaCard.GetCombatant()].transform); activeCards[playAreaCard.GetSessionId()] = null; cardScripts[playAreaCard.GetSessionId()] = null; playAreaCard.Die(); playAreaCard = null; //EndTurn(); } //Healer Card else if (playAreaCard.GetEffect() == 1) { Debug.Log("Healing Card. Not yet implemented."); EndTurn(); } else { Debug.Log("Card Has No Effect"); } //EndTurn(); } } }
void Awake() { if (CompoundFinderer != null) { GameObject.Destroy(CompoundFinderer); } else { CompoundFinderer = this; } DontDestroyOnLoad(this); foundObjects = new List <CompoundClass>(); foundObjects2 = new List <CompoundClass>(); script1 = Kart1.GetComponent <CardBehavior>(); script2 = Kart2.GetComponent <CardBehavior>(); script3 = Kart3.GetComponent <CardBehavior>(); }
public void onGestureEnd() { if (pinching == null) { return; } CardBehavior cb = pinching.GetComponent <CardBehavior>(); cb.pinched = false; DetectionManager.DetectionHand rightHand = DetectionManager.Get().GetHand(EHand.eRightHand); //pinching.GetComponent<Rigidbody>().velocity = rightHand.GetFinger(EFinger.eIndex).GetTipVelocity(); pinching.GetComponent <Rigidbody>().velocity = rightHand.GetVelocity(); Debug.Log(rightHand.GetVelocity().ToString()); //Debug.Log(rightHand.GetFinger(EFinger.eThumb+1).GetTipVelocity().ToString()); pinching.transform.parent = null; pinching = null; //TBD: after release a card, }
public void AnimationEnd(CardBehavior instance) { currentState.AnimationEnd(instance); }
//AI Controlled Opponent Methods public void AISelect(int card) { cardScripts[card].AIPlay(enemyScript.GetPlayArea()); playAreaCard = cardScripts[card]; }
public virtual void SetParent(CardBehavior parent) { this.parent = parent; }
void Click(Vector3 mposition) { RaycastHit hit; Ray ray = camera.ScreenPointToRay(mposition); if (Physics.Raycast(ray, out hit)) { Transform objectHit = hit.transform; if (objectHit.tag == "Card") { updateMousePos = true; if (selectedCard != null) { selectedCard.Select(false); } selectedCard = objectHit.gameObject.GetComponent <CardBehavior>(); selectedCard.Select(true); oldCardPosition = selectedCard.transform.localPosition; } else if (objectHit.tag == "Button") { selectedButton = objectHit.gameObject.GetComponent <ButtonBehavior>(); selectedButton.Select(true); } else if (objectHit.tag == "Combatant") { if (selectedCombatant != null) { selectedCombatant.Select(false); } selectedCombatant = objectHit.gameObject.GetComponent <CombatantBehavior>(); selectedCombatant.Select(true); if (playAreaCard != null) { PlayCard(); } } else if (objectHit.tag == "PlayArea") { if (playAreaCard != null) { playAreaCard.Reset(); playAreaCard = null; } } else { if (selectedCard != null) { selectedCard.Select(false); selectedCard = null; } if (selectedCombatant != null) { selectedCombatant.Select(false); selectedCombatant = null; } } } }
public void OnClick(CardBehavior instance) { currentState.OnClick(instance); }
public void AnimationEnd(CardBehavior instance) { Context.GetInstance().currentState = Context.GetInstance().TwoCards; Context.GetInstance().Validation(); bool _isAnimationRunning = false; }
public void OnClick(CardBehavior instance) { }