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)); } }
protected override void OnWorldStateDataChanged(WorldState worldState) { StatsRecyclerAdapter.SetItems(new List <IStat> { worldState.VallisCycle, worldState.VallisBounty }); }
protected override void OnWorldStateDataChanged(WorldState worldState) { StatsRecyclerAdapter.SetItems(new List <IStat> { worldState.EarthCycle, worldState.Arbitration, worldState.SentientOutpost }); }
public override void Bind(IStat item, StatsRecyclerAdapter adapter) { base.Bind(item, adapter); if (item is EarthCycle viewModel) { StatusTextView.Text = viewModel.State.ToUpperFirst(); } }
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()); } }
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; } }
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)); } }
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; } } }
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)); } } }
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); }
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); } } }
protected override void OnWorldStateDataChanged(WorldState worldState) { StatsRecyclerAdapter.SetItems(worldState.Fissures.Cast <IStat>().ToList()); }
protected override void OnWorldStateDataChanged(WorldState worldState) { StatsRecyclerAdapter.SetItems(worldState.Invasions.Where(i => !i.Completed).Cast <IStat>().ToList()); }
public abstract void Bind(IStat item, StatsRecyclerAdapter adapter);