public override bool update(TableManager table, THHGame.InitEventArg eventArg) { table.setMaster(table.ui.SelfMaster, table.player.master); table.setSkill(table.ui.SelfSkill, table.player.skill); THHPlayer opponent = table.game.getOpponent(table.player); table.setMaster(table.ui.EnemyMaster, opponent.master); table.setSkill(table.ui.EnemySkill, opponent.skill); return(true); }
public override bool update(TableManager table, THHGame.TurnStartEventArg eventArg) { if (!_timer.isStarted) { _timer.start(); table.ui.TurnTipImage.display(); if (eventArg.player == table.player) { table.ui.TurnTipText.text = "你的回合"; table.canControl = true; } else { table.ui.TurnTipText.text = "对手的回合"; table.canControl = false; } table.ui.TurnTipImage.GetComponent <Animator>().Play("Display"); foreach (var player in table.game.players) { table.setSkill(player == table.player ? table.ui.SelfSkill : table.ui.EnemySkill, player.skill); foreach (var card in player.field) { var servant = table.getServant(card); table.setServant(servant, card); } } } if (!_timer.isExpired()) { return(false); } table.ui.TurnTipImage.hide(); table.ui.TurnEndButton.interactable = eventArg.player == table.player; return(true); }
public override bool update(TableManager table, THHPlayer.SetGemEventArg eventArg) { if (eventArg.player == table.player) { table.ui.SelfGem.Text.text = eventArg.player.gem.ToString(); } else { table.ui.EnemyGem.Text.text = eventArg.player.gem.ToString(); } table.setSkill(table.ui.SelfSkill, table.player.skill); return(true); }
public override bool update(TableManager table, THHPlayer.UseEventArg eventArg) { if (eventArg.card.define is ServantCardDefine) { if (eventArg.player == table.player) { if (!table.ui.ServantPlaceHolder.Servant.isDisplaying) { HandListItem item = table.getHand(eventArg.card); if (_handToField == null) { _handToField = new HandToFieldAnim(table, item, table.ui.SelfFieldList, eventArg.position); } if (!_handToField.update(table)) { return(false); } } if (tryTargetedAnim(table, eventArg)) { return(false); } table.ui.SelfHandList.removeItem(table.getHand(eventArg.card)); table.ui.addChild(table.ui.ServantPlaceHolder.rectTransform); table.ui.ServantPlaceHolder.hide(); } else { var hand = table.getHand(eventArg.card); if (hand == null) { throw new ActorNotFoundException(eventArg.card); } if (!table.ui.ServantPlaceHolder.Servant.isDisplaying) { //敌方使用随从 if (_handToField == null) { _handToField = new HandToFieldAnim(table, hand, table.ui.EnemyFieldList, eventArg.position); } if (!_handToField.update(table)) { return(false); } } if (tryTargetedAnim(table, eventArg)) { return(false); } table.ui.EnemyHandList.removeItem(hand); table.ui.addChild(table.ui.ServantPlaceHolder.rectTransform); table.ui.ServantPlaceHolder.hide(); } } else if (eventArg.card.define is SpellCardDefine) { if (eventArg.player == table.player) { table.ui.SelfHandList.removeItem(table.getHand(eventArg.card)); if (tryTargetedAnim(table, eventArg)) { return(false); } } else { HandListItem hand = table.getHand(eventArg.card); table.setCard(hand.Card, eventArg.card, true); hand.GetComponentInChildren <PositionLerp>().setTarget(table.ui.getChild("SpellDisplay")); if (!SimpleAnimHelper.update(table, ref _useAnim, hand.onEnemyUse, hand.animator)) { return(false); } table.ui.EnemyHandList.removeItem(table.getHand(eventArg.card)); if (tryTargetedAnim(table, eventArg)) { return(false); } } } else if (eventArg.card.isSkill()) { if (eventArg.player == table.player) { table.setSkill(table.ui.SelfSkill, eventArg.card); } else { table.setSkill(table.ui.EnemySkill, eventArg.card); } if (tryTargetedAnim(table, eventArg)) { return(false); } } else if (eventArg.card.isItem()) { if (eventArg.player == table.player) { table.setItem(table.ui.SelfItem, eventArg.card); if (!SimpleAnimHelper.update(table, ref _useAnim, table.ui.SelfItem.onEquip, table.ui.SelfItem.animator)) { return(false); } } else { table.setItem(table.ui.EnemyItem, eventArg.card); if (!SimpleAnimHelper.update(table, ref _useAnim, table.ui.EnemyItem.onEquip, table.ui.EnemyItem.animator)) { return(false); } } if (tryTargetedAnim(table, eventArg)) { return(false); } } return(true); }