public void FillFactionContainer(NodeAddedEvent e, SingleNode <FractionContainerComponent> container, [JoinAll] SelfUserNode user, [JoinByFraction] Optional <FractionNode> fraction, [JoinAll] FractionCompetitionNode fractionCompetition) { Color color; FractionContainerComponent component = container.component; FractionContainerComponent.FractionContainerTargets target = component.Target; if (target == FractionContainerComponent.FractionContainerTargets.PLAYER_FRACTION) { if (!fraction.IsPresent()) { component.IsAvailable = false; } else { component.IsAvailable = true; FractionInfoComponent fractionInfo = fraction.Get().fractionInfo; component.FractionTitle = fractionInfo.FractionName; component.FractionLogoUid = fractionInfo.FractionLogoImageUid; color = new Color(); component.FractionColor = GetColorFromHex(fractionInfo.FractionColor, color); } } else { if (target != FractionContainerComponent.FractionContainerTargets.WINNER_FRACTION) { throw new ArgumentOutOfRangeException(); } if (!fractionCompetition.Entity.HasComponent <FinishedFractionsCompetitionComponent>()) { component.IsAvailable = false; } else { component.IsAvailable = true; FractionInfoComponent component3 = fractionCompetition.Entity.GetComponent <FinishedFractionsCompetitionComponent>().Winner.GetComponent <FractionInfoComponent>(); component.FractionTitle = component3.FractionName; component.FractionLogoUid = component3.FractionLogoImageUid; color = new Color(); component.FractionColor = GetColorFromHex(component3.FractionColor, color); } } }
public void UpdateScores(UpdateClientFractionScoresEvent e, FractionCompetitionNode competition) { competition.fractionsCompetitionScores.TotalCryFund = e.TotalCryFund; competition.fractionsCompetitionScores.Scores = e.Scores; }