private void OnBattleResult() { if (_model.IsShowingAnimation) { return; } if (_model.IsGetBattleResult == false) { return; } BattleResultData model = GetData <BattleResultData>(); if (model.Star > 0) { ShowBattleComment(); } else { SendMessage(new Message(MessageConst.MODULE_BATTLE_SHOW_FAIL)); _currentPanel.Destroy(); _currentPanel = new FinalEstimateFailPanel(); _currentPanel.Init(this); _battleFinalBg.Show(); _battleFinalBg.transform.SetSiblingIndex(0); } }
private void OnBattleFinishedComeFromServer(BattleResultData battleResultData, List <TroopCoolDownData> troopCoolDowns, bool connectionLost) { TimeManager.instance.Event_OneSecTick -= OnSecTick; BattleDataProvider.instance.Event_BattlePingTick -= OnPinging; DivineDebug.Log("Battle Finish Come From Server", DivineLogType.Normal); _battleResultData = battleResultData; GameAnalytics.NewDesignEvent( "Battle Result " + (_battleInfo.isBot ? "With" : "Without") + "Bot: " + (_battleResultData.isVictorious ? "Win" : "Lose")); _battleEndCame = true; PlayerInfo player = GameManager.instance.player; for (int i = 0; i < troopCoolDowns.Count; i++) { player.FindTroop(troopCoolDowns[i].id).SetRemainingCooldownTime(troopCoolDowns[i].remainingSeconds); } if (connectionLost) { OnBattleFinished(); } if (FakeServer.instance.isFake) { OnBattleFinished(); } }
void Awake() { if (instance == null) { instance = this; } }
public override void Start() { base.Start(); BattleResultData data = GetData <BattleResultData>(); GlobalData.CardModel.UpdateUserCards(data.UserCards.ToArray()); Window.SetData(data, GlobalData.PlayerModel); if (GlobalData.RandomEventModel.CheckTrigger(7002, 7003)) { new TriggerService().ShowNewGiftWindow().Execute(); } }
private void TriggerStarActivity(BattleResultData data) { if (GlobalData.MissionModel.IsHaveStarActivityMission) { List <int> cardLevels = new List <int>(); foreach (var t in data.UserCards) { var cardData = GlobalData.CardModel.GetUserCardById(t.CardId); var cardLevel = cardData.Level; cardLevels.Add(cardLevel); } GlobalData.MissionModel.MissionAttainmentModel.BattleTriggerPopWindow(cardLevels); } }
public void BattleResult(WBattleResult result) { ChestInfo chestInfo = null; if (result.reward.chest_info != null) { chestInfo = ChestInfoHelper.GetChestInfo(result.reward.chest_info); } RewardData rewData = new RewardData(result.reward.coin, result.reward.trophy, chestInfo); BattleResultData btlResultData = new BattleResultData(result.total_score, result.current_rank, result.previous_rank, result.victorious, rewData); if (Event_BattleFinish != null) { Event_BattleFinish(btlResultData, MakeTroopCooldownList(result.cooldown_data), result.connection_lost); } }
protected virtual void OnBattleWin() { MainWindow mainWindow = FindObjectOfType <MainWindow>(); if (mainWindow != null) { mainWindow.gameObject.SetActive(false); } GameObject victoryPanel = (GameObject)Instantiate(Resources.Load("Prefabs/BattleResult/VictoryPanel"), GameObject.Find("MainCanvas").transform); BattleVictory bv = victoryPanel.GetComponent <BattleVictory>(); BattleResultData resultData = null; if (_map.IsWallMap) { WaveTplData waveTpl = TemplateManager.GetWaveTpl(_wave.TplId); resultData = DropManager.CreateBattleResult(waveTpl.Dropid); resultData.Exp = waveTpl.Exp; } else { resultData = DropManager.CreateBattleResult(_map.Tpl.Dropid, _map.Tpl); resultData.Exp = _map.Tpl.Exp; } resultData.Exp = (int)(resultData.Exp * (1 + Random.Range(-0.1f, 0.1f))); _hero.ObtainPastExp(resultData.Exp); resultData.BattleType = BattleType; bv.data = resultData; if (BattleType == BATTLE_TYPE_TREEHOLE) { TreeHoleCtrl.Instance.Win(); } else if (BattleType == BATTLE_TYPE_CHAPTER) { WorldCtrl.Instance.Win(); } _beAttacking = false; GameModel.Instance.WinTime++; #if !DISABLESTEAMWORKS SteamAchievementMgr.Instance.AchievementAboutNumChanged(); SteamAchievementMgr.Instance.WinABattle(); if (BattleType == BATTLE_TYPE_TREEHOLE) { if (TreeHoleCtrl.Instance.CurrentLayerNum == 30) { SteamAchievementMgr.Instance.PastLastHole(); } } #endif GlobalEventLocator.Instance.dispatch(new GameEvent(GameEvent.BATTLE_STATE_CHANGED)); _hero.ClearBuffs(); UserSkillMgr.CancelSkill(); if (BattleType == BATTLE_TYPE_GUARD) { GameModel.Instance.Wave++; SoundManager.InstanceOfScene.PlayPeaceBmg(); } GameModel.Instance.OpenFunc(GameModel.FUNC_ID_BAG); if (!GameModel.Instance.IsFuncOpen(GameModel.FUNC_ID_INLAY)) { foreach (var item in bv.data.Items) { if (item.Type == GoodsInfo.TYPE_GEM) { GameModel.Instance.OpenFunc(GameModel.FUNC_ID_INLAY); } } if (!GameModel.Instance.IsFuncOpen(GameModel.FUNC_ID_INLAY) && GameModel.Instance.HeroInfo.Level >= SystemConsts.OPEN_INLAY_LEVEL) { GameModel.Instance.OpenFunc(GameModel.FUNC_ID_INLAY); } } DataService.Instance.Safe = true; AdManager.Instance.ShowInterstitial(); }
public void SetData(BattleResultData data, PlayerModel playerModel) { transform.Find("StarAndGrade/Star").GetComponent <StarComponent>().ShowStar(data.Star); // transform.Find("StarAndGrade/Text").GetComponent<Text>().text = "应援热度:<b> " + data.Cap + "</b>"; transform.Find("StarAndGrade/Text/Text").GetComponent <Text>().text = data.Cap.ToString(); var propContainer = transform.Find("Reward/Props"); var cardContainer = transform.Find("Cards"); for (int i = 0; i < data.RewardList.Count; i++) { GameObject item = InstantiatePrefab("Battle/Prefabs/RewardItem"); item.transform.SetParent(propContainer, false); RewardItem rewardItem = item.transform.gameObject.AddComponent <RewardItem>(); DrawActivityDropItemVo extReward; data.DrawActivityDropItemDict.TryGetValue(i, out extReward); rewardItem.SetData(data.RewardList[i], extReward); item.GetComponent <ItemShowEffect>().OnShowEffect(0.3f + i * 0.2f); } PlayerVo player = playerModel.PlayerVo; _levelText.text = "Lv." + player.Level; _expAddText.text = "+" + data.Exp + " exp"; var isOnVip = GlobalData.PlayerModel.PlayerVo.IsOnVip; _vip.gameObject.SetActive(isOnVip); _userNameText.text = I18NManager.Get("Battle_Name", player.UserName); int lastNeedExp = player.NeedExp; _expText.text = player.CurrentLevelExp + "/" + player.NeedExp; _progressBar.DeltaX = 0; _progressBar.Progress = (int)((float)player.CurrentLevelExp / player.NeedExp * 100); bool isLevelup = playerModel.AddExp(data.Exp); int rate = (int)((float)player.CurrentLevelExp / player.NeedExp * 100); if (isLevelup) { if (player.Level >= 100) { _expText.text = "MAX"; } else { DOTween.To(() => _progressBar.Progress, x => _progressBar.Progress = x, 100, 0.3f).SetDelay(0.9f) .onComplete = () => { _expText.text = player.CurrentLevelExp + "/" + player.NeedExp; _progressBar.DeltaX = 0; _progressBar.Progress = 0; DOTween.To(() => _progressBar.Progress, x => _progressBar.Progress = x, rate, 0.3f) .SetDelay(1.3f); Util.TweenTextNum(_expText, 0.3f, player.CurrentLevelExp, "", "/" + player.NeedExp); _levelText.text = "Lv." + player.Level; }; Util.TweenTextNum(_expText, 0.3f, lastNeedExp, "", "/" + lastNeedExp); } } else { if (player.Level >= 100) { _expText.text = "MAX"; } else { DOTween.To(() => _progressBar.Progress, x => _progressBar.Progress = x, rate, 0.3f).SetDelay(0.9f); Util.TweenTextNum(_expText, 0.3f, player.CurrentLevelExp, "", "/" + player.NeedExp); } } TriggerStarActivity(data); for (int i = 0; i < data.UserCards.Count; i++) { GameObject item = InstantiatePrefab("Battle/FinalEstimate/RewardHeroCard"); item.transform.SetParent(cardContainer, false); item.AddComponent <ItemShowEffect>().OnShowEffect(1 + i * 0.2f); var cardData = GlobalData.CardModel.GetUserCardById(data.UserCards[i].CardId); item.transform.GetComponent <RewardHeroCard>().SetData(cardData, data.CardExp); } StartCoroutine(StarRotation()); }