Exemple #1
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            base.Bind(item, adapter);

            if (item is Invasion viewModel)
            {
                NodeTextView.Text        = viewModel.Node;
                DescriptionTextView.Text = viewModel.Description;
                AttackerTextView.Text    = viewModel.AttackingFaction;
                DefenderTextView.Text    = viewModel.DefendingFaction;

                if (viewModel.VSInfestation)
                {
                    AttackerRewardChip.Visibility = ViewStates.Invisible;
                }
                else
                {
                    AttackerRewardChip.Visibility = ViewStates.Visible;
                }

                AttackerRewardChip.Text = viewModel.AttackerReward.ItemString;
                DefenderRewardChip.Text = viewModel.DefenderReward.ItemString;

                AttackerProgressTextView.SetBackgroundColor(GetFactionColor(viewModel.AttackingFaction));
                DefenderProgressTextView.SetBackgroundColor(GetFactionColor(viewModel.DefendingFaction));
                AttackerProgressTextView.LayoutParameters = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MatchParent, viewModel.Completion / 100);
                DefenderProgressTextView.LayoutParameters = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MatchParent, 1 - (viewModel.Completion / 100));
            }
        }
Exemple #2
0
 protected override void OnWorldStateDataChanged(WorldState worldState)
 {
     StatsRecyclerAdapter.SetItems(new List <IStat>
     {
         worldState.VallisCycle,
         worldState.VallisBounty
     });
 }
Exemple #3
0
 protected override void OnWorldStateDataChanged(WorldState worldState)
 {
     StatsRecyclerAdapter.SetItems(new List <IStat>
     {
         worldState.EarthCycle,
         worldState.Arbitration,
         worldState.SentientOutpost
     });
 }
Exemple #4
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            base.Bind(item, adapter);

            if (item is EarthCycle viewModel)
            {
                StatusTextView.Text = viewModel.State.ToUpperFirst();
            }
        }
Exemple #5
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            base.Bind(item, adapter);

            if (item is SyndicateMission model)
            {
                TitleTextView.Text = "Bounty";
                BountyJobsAdapter.SetItems(model.Jobs.Cast <IStat>().ToList());
            }
        }
Exemple #6
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            base.Bind(item, adapter);

            if (item is Arbitration viewModel)
            {
                NodeTextView.Text  = viewModel.Node;
                EnemyTextView.Text = viewModel.Enemy;
                TypeTextView.Text  = viewModel.Type;
            }
        }
Exemple #7
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            base.Bind(item, adapter);

            if (item is Fissure viewModel)
            {
                TierTextView.Text    = viewModel.Tier;
                NodeTextView.Text    = viewModel.Node;
                EnemyTextView.Text   = viewModel.Enemy;
                MissionTextView.Text = viewModel.MissionType;

                TierImageView.SetImageResource(GetTierImage(viewModel.TierNum));
            }
        }
Exemple #8
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            base.Bind(item, adapter);

            if (item is SentientOutpost model)
            {
                if (model.Mission != null)
                {
                    NodeTextView.Text    = model.Mission.Node;
                    FactionTextView.Text = model.Mission.Faction;
                    TypeTextView.Text    = model.Mission.Type;
                }
            }
        }
Exemple #9
0
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            if (item is Job model)
            {
                TitleTextView.Text       = model.Type;
                EnemyLevelsTextView.Text = $"Level {model.MinEnemyLevel} - {model.MaxEnemyLevel}";
                StandingsTextView.Text   = model.TotalStanding.ToString();

                RewardsChipGroup.RemoveAllViews();
                foreach (var reward in model.RewardPool)
                {
                    RewardsChipGroup.AddView(GetChip(reward));
                }
            }
        }
Exemple #10
0
        public BountyViewHolder(View itemView) : base(itemView)
        {
            TitleTextView      = itemView.FindViewById <TextView>(Resource.Id.text_bounty_title);
            TimeLeftTextView   = itemView.FindViewById <TextView>(Resource.Id.text_bounty_time);
            BountyJobsRecycler = itemView.FindViewById <RecyclerView>(Resource.Id.recycler_bounty_jobs);

            BountyJobsAdapter = new StatsRecyclerAdapter();
            BountyJobsRecycler.SetAdapter(BountyJobsAdapter);
            var layoutManager = new LinearLayoutManager(itemView.Context);

            BountyJobsRecycler.SetLayoutManager(layoutManager);

            var divider = new DividerItemDecoration(itemView.Context, layoutManager.Orientation);

            BountyJobsRecycler.AddItemDecoration(divider);
        }
Exemple #11
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            // Use this to return your custom view for this Fragment
            // return inflater.Inflate(Resource.Layout.YourFragment, container, false);
            base.OnCreateView(inflater, container, savedInstanceState);
            var view = inflater.Inflate(Resource.Layout.fragment_stats, container, false);

            StatsRecyclerAdapter = new StatsRecyclerAdapter();

            StatsRecyclerView = view.FindViewById <RecyclerView>(Resource.Id.recycler_stats);
            StatsRecyclerView.SetAdapter(StatsRecyclerAdapter);
            StatsRecyclerView.SetLayoutManager(new LinearLayoutManager(view.Context));

            refreshLayout = view.FindViewById <SwipeRefreshLayout>(Resource.Id.swipe_refresh_stats);
            refreshLayout.SetOnRefreshListener(this);

            return(view);
        }
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            if (item is ActivatableStat model)
            {
                //if (TitleTextView != null)
                //{
                //    TitleTextView.Text = model.Name;
                //}

                if (TimeActivatedTextView != null)
                {
                    ClearDisposable();

                    TimeActivatedTextView.Text = model.TimeElapsed.ToFormattedString();

                    Disposable = Observable.Interval(TimeSpan.FromSeconds(1))
                                 .Select(p => model.TimeElapsed)
                                 .TakeUntil(time => TimeActivatedTextView == null)
                                 .RunOnUI()
                                 .Subscribe(time =>
                    {
#if DEBUG
                        Log.Info($"{GetType().Name}", $"{model.StatType} -> {time.ToFormattedString()}");
#endif
                        TimeActivatedTextView.Text = time.ToFormattedString();
                    },
                                            () =>
                    {
                        if (TimeActivatedTextView != null)
                        {
                            TimeActivatedTextView.Text = "EXPIRED";
                        }
                    });

                    adapter.AddTimeSubscription(Disposable);
                }
            }
        }
        public override void Bind(IStat item, StatsRecyclerAdapter adapter)
        {
            if (item is ExpirableStat model)
            {
                //if (TitleTextView != null)
                //{
                //    TitleTextView.Text = model.Name;
                //}

                if (TimeLeftTextView != null)
                {
                    ClearDisposable();

                    UpdateTimeLeftText(TimeLeftTextView, model.TimeLeft);

                    Disposable = Observable
                                 .Interval(TimeSpan.FromSeconds(1))
                                 .Select(p => model.TimeLeft)
                                 .TakeUntil(time => time < TimeSpan.Zero || TimeLeftTextView == null)
                                 .RunOnUI()
                                 .Subscribe(timeLeft =>
                    {
#if DEBUG
                        Log.Info($"{GetType().Name}", $"{model.StatType} -> {timeLeft.ToFormattedString()}");
#endif
                        UpdateTimeLeftText(TimeLeftTextView, model.TimeLeft);
                    },
                                            () =>
                    {
                        ClearDisposable();
                    });

                    adapter.AddTimeSubscription(Disposable);
                }
            }
        }
Exemple #14
0
 protected override void OnWorldStateDataChanged(WorldState worldState)
 {
     StatsRecyclerAdapter.SetItems(worldState.Fissures.Cast <IStat>().ToList());
 }
Exemple #15
0
 protected override void OnWorldStateDataChanged(WorldState worldState)
 {
     StatsRecyclerAdapter.SetItems(worldState.Invasions.Where(i => !i.Completed).Cast <IStat>().ToList());
 }
Exemple #16
0
 public abstract void Bind(IStat item, StatsRecyclerAdapter adapter);