internal static void PlayCardCallback(object[] data) { string who = (string)data[0]; PlayerObjectBehaviour forPlayer = LocalPlayer; if (who.Equals(EnemyPlayer.PlayerName)) { forPlayer = EnemyPlayer; } int guid = (int)data[1]; int mana = (int)data[2]; CardObjectBehaviour cob = CardObjectBehaviour.GetCOB(guid); forPlayer.Hob.RemoveCard(cob.gameObject); forPlayer.UpdateMana(mana); cob.gameObject.GetComponent <DragHandCard>().CanDrag = false; cob.AddDoTweens(() => { // Move card to neutral position and play effects Vector3 spellEffectPos = NeutralBattlePoint.transform.position; cob.AddEffectParticle(); cob.SetTweening(true); Sequence s = DOTween.Sequence(); s.Insert(0f, cob.gameObject.transform.DOMove(new Vector3(spellEffectPos.x, spellEffectPos.y, -3f), GameConfig.F("SPELL_CARD_FLY_TIME"))); s.Insert(0f, cob.gameObject.transform.DOScale(GameConfig.F("SPELL_CARD_SCALE"), GameConfig.F("SPELL_CARD_FLY_TIME"))); s.AppendInterval(GameConfig.F("SPELL_CARD_FLY_TIME") + GameConfig.F("SPELL_CARD_DISPLAY_TIME")); s.OnComplete(() => { cob.SetTweening(false); }); }); }
internal static void PlayCardSlotCallback(object[] data) { PlayerObjectBehaviour p = ForPlayer((string)data[0]); CardObjectBehaviour cob = CardObjectBehaviour.GetCOB((int)data[1]); int slot = (int)data[2]; int power = (int)data[3]; p.CSob[slot].AddCard(cob.gameObject); p.UpdateCardSlotPower(slot, power); }
private void Awake() { uiState = UIState.ACTION; LocalPlayer = PlayerA.GetComponent <PlayerObjectBehaviour>(); EnemyPlayer = PlayerB.GetComponent <PlayerObjectBehaviour>(); NeutralBattlePoint = NeutralBattlePointGO; AttackerBattlePoint = AttackerBattlePointtGO; DefenderBattlePoint = DefenderBattlePointGO; }
private static PlayerObjectBehaviour ForPlayer(string name) { PlayerObjectBehaviour ret = LocalPlayer; if (name.Equals(EnemyPlayer.PlayerName)) { ret = EnemyPlayer; } return(ret); }
private void Awake() { Pob = PlayerObject.GetComponent <PlayerObjectBehaviour>(); TheImage.sprite = ImageAsset; if (Pob.IsTop) { TheImage.GetComponent <RectTransform>().Rotate(new Vector3(-180f, 180f, 0f)); } cardObjs = new List <GameObject>(); }
internal static void SelectDoneCallback(object[] data) { PlayerObjectBehaviour p = ForPlayer((string)data[0]); if (SelectTargetObject != null) { Destroy(SelectTargetObject); SelectTargetObject = null; } SetUIState(UIState.ACTION); }
internal static void UpdatePlayerMana(object[] data) { string who = (string)data[0]; int mana = (int)data[1]; PlayerObjectBehaviour forPlayer = LocalPlayer; if (who.Equals(EnemyPlayer.PlayerName)) { forPlayer = EnemyPlayer; } forPlayer.UpdateMana(mana); }
internal static void PlayCardFailCallback(object[] data) { string who = (string)data[0]; int guid = (int)data[1]; PlayerObjectBehaviour forPlayer = LocalPlayer; if (who.Equals(EnemyPlayer.PlayerName)) { forPlayer = EnemyPlayer; } forPlayer.Hob.PlayCardFail(CardObjectBehaviour.GetCOB(guid).gameObject); }
public DrawCardView(PlayerObjectBehaviour pob, List <Card> cards, int deckN) { for (int i = 0; i < cards.Count; i++) { GameObject co = CardObjectBehaviour.Create(cards.ElementAt(i), pob); pob.Hob.AddCard(co); if (!BoardBehaviour.LocalPlayerName.Equals(pob.PlayerName)) { co.GetComponent <DragHandCard>().CanDrag = false; } } pob.Dob.UpdateDeckNumber(deckN); }
internal static void SelectTargetCallback(object[] data) { // Requesting a card selection PlayerObjectBehaviour p = ForPlayer((string)data[0]); if (SelectTargetObject != null) { Destroy(SelectTargetObject); SelectTargetObject = null; } SelectTargetObject = Instantiate(Resources.Load("prefabs/Target")) as GameObject; SelectTargetCard sel = SelectTargetObject.GetComponent <SelectTargetCard>(); CardObjectBehaviour cob = CardObjectBehaviour.GetCOB((int)data[1]); sel.From = cob.gameObject; SetUIState(UIState.TARGETING); }
internal static void DiscardCardCallback(object[] data) { PlayerObjectBehaviour p = ForPlayer((string)data[0]); CardObjectBehaviour cob = CardObjectBehaviour.GetCOB((int)data[1]); cob.AddDoTweens(() => { cob.OriginPos = p.Grave.transform.position; cob.SetTweening(true); Sequence s = DOTween.Sequence(); s.Insert(0f, cob.gameObject.transform.DOMove(cob.OriginPos, GameConfig.F("BATTLE_CARD_DEATH_FLY_TIME"))); s.Insert(0f, cob.gameObject.transform.DOScale(1.0f, GameConfig.F("BATTLE_CARD_DEATH_FLY_TIME"))); cob.State = CardState.GRAVE; s.OnComplete(() => { cob.SetTweening(false); }); }); }
public static GameObject Create(Card cardData, PlayerObjectBehaviour player) { GameObject co = Instantiate(Resources.Load("prefabs/CardObject")) as GameObject; CardObjectBehaviour cob = co.GetComponent <CardObjectBehaviour>(); // card visual cob.CardImage.sprite = Resources.Load <Sprite>("sprites/card_images/" + cardData.id); cob.CardName.text = cardData.name; cob.CardClass.sprite = Resources.Load <Sprite>("sprites/card_ui/frame_" + cardData.color); cob.CardType.sprite = Resources.Load <Sprite>("sprites/card_ui/type_" + cardData.ctype); cob.CardPower.text = cardData.power.ToString(); cob.CardDescription.text = cardData.desc.Replace("|n", "\n"); cob.CardCostNumber.text = cardData.cost.ToString(); cob.CardCostImage.sprite = Resources.Load <Sprite>("sprites/card_ui/mana_" + cardData.color); Sprite powerFrame = Resources.Load <Sprite>("sprites/card_ui/power_" + cardData.color); cob.CardTypeFrame.sprite = powerFrame; cob.CardPowerFrame.sprite = powerFrame; // layout cob.Order = zOffset; cob.isExpanding = false; cob.State = CardState.DEFAULT; if (!cardData.ctype.Equals(CardTypes.CREATURE)) { cob.CardPowerFrame.enabled = false; cob.CardPower.enabled = false; } cob.Owner = player; cob.buffs = new List <GameObject>(); zOffset += -0.01f; cob.guid = cardData.guid; AddCard(cob); return(co); }
internal static void UpdateSlotPowerCallback(object[] data) { PlayerObjectBehaviour p = ForPlayer((string)data[0]); p.UpdateCardSlotPower((int)data[1], (int)data[2]); }
private void Awake() { Pob = PlayerObject.GetComponent <PlayerObjectBehaviour>(); }