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);
                }
            }
        }
Пример #2
0
 public void UpdateScores(UpdateClientFractionScoresEvent e, FractionCompetitionNode competition)
 {
     competition.fractionsCompetitionScores.TotalCryFund = e.TotalCryFund;
     competition.fractionsCompetitionScores.Scores       = e.Scores;
 }