public override IEnumerator UpdateView(FightStatus fightStatus) { if (fightStatus != FightStatus.local) { yield break; } FightUIRework instance = FightUIRework.instance; if (!(null != instance)) { yield break; } if (GameStatus.GetFightStatus(fromFightId).TryGetEntity(fromPlayerId, out PlayerStatus entityStatus)) { if (RuntimeData.companionDefinitions.TryGetValue(companionDefId, out CompanionDefinition value)) { PlayerStatus localPlayer = fightStatus.GetLocalPlayer(); if (concernedEntity == localPlayer.id) { FightInfoMessage message = FightInfoMessage.ReceivedCompanion(MessageInfoRibbonGroup.MyID); instance.DrawInfoMessage(message, entityStatus.nickname, RuntimeData.FormattedText(value.i18nNameId)); } } else { Log.Error(FightEventErrors.DefinitionNotFound <CompanionDefinition>(companionDefId), 37, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\CompanionReceivedEvent.cs"); } } else { Log.Error(FightEventErrors.PlayerNotFound(fromPlayerId, fromFightId), 42, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\CompanionReceivedEvent.cs"); } }
private static CastValidity ComputeCastValidity(ICastableStatus status) { PrecomputedData precomputedData = status.GetDefinition()?.precomputedData; FightStatus local = FightStatus.local; if (precomputedData != null && local != null) { PlayerStatus player = local.GetLocalPlayer(); HeroStatus heroStatus = player.heroStatus; WeaponDefinition weaponDefinition = (WeaponDefinition)heroStatus.definition; if (precomputedData.checkNumberOfSummonings) { int num = local.EnumerateEntities((SummoningStatus s) => s.ownerId == player.id).Count(); int valueWithLevel = weaponDefinition.maxSummoningsOnBoard.GetValueWithLevel(heroStatus.level); if (num >= valueWithLevel) { return(CastValidity.TOO_MANY_SUMMONING); } } if (precomputedData.checkNumberOfMechanisms) { int num2 = local.EnumerateEntities((MechanismStatus s) => s.ownerId == player.id).Count(); int valueWithLevel2 = weaponDefinition.maxMechanismsOnBoard.GetValueWithLevel(heroStatus.level); if (num2 >= valueWithLevel2) { return(CastValidity.TOO_MANY_MECHANISM); } } } return(CastValidity.SUCCESS); }
protected PlayerStatus GetPlayerOrOpponent(Event lastEvent = null) { if ((lastEvent != null) ? lastEvent.get_alt() : IsAltDown()) { int localPlayerId = m_fightStatus.localPlayerId; foreach (PlayerStatus item in m_fightStatus.EnumeratePlayers()) { if (item.id != localPlayerId) { return(item); } } return(null); } return(m_fightStatus.GetLocalPlayer()); }