From c6341f7e1abecb8fba2c45e6afa7d2e4be3a0736 Mon Sep 17 00:00:00 2001 From: Lucas Delanier Date: Fri, 17 Mar 2023 19:42:11 +0100 Subject: [PATCH] new slot on main page for equiped items and redirect to root :chart_with_upwards_trend: --- .../com/example/shakecraft/HomeFragment.kt | 11 +++++ .../example/shakecraft/InventoryFragment.kt | 3 +- .../com/example/shakecraft/MainActivity.kt | 16 ++++++- .../res/drawable/background_equiped_item.xml | 11 +++++ .../app/src/main/res/layout/fragment_home.xml | 45 ++++++++++++++++++- .../app/src/main/res/navigation/my_nav.xml | 6 ++- 6 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 ShakeAndCraft/app/src/main/res/drawable/background_equiped_item.xml diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt index 4a37742..3725263 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/HomeFragment.kt @@ -14,6 +14,7 @@ import androidx.navigation.fragment.findNavController import com.example.shakecraft.model.Player + class HomeFragment : Fragment() { private lateinit var pseudo : TextView private lateinit var progressbar : ProgressBar @@ -25,6 +26,7 @@ class HomeFragment : Fragment() { private lateinit var buttonBoss : ConstraintLayout private lateinit var buttonForge : ConstraintLayout private lateinit var playermage : ImageView + private lateinit var equipeditem: ImageView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -42,6 +44,12 @@ class HomeFragment : Fragment() { return view } + + /*fun loadWeatherDate(){ + CoroutineScope(Dispatchers.IO).launch { + val + } + }*/ private fun initializeViews(view: View, currentPlayer : Player) { pseudo = view.findViewById(R.id.pseudoTextView) progressbar = view.findViewById(R.id.levelProgressBar) @@ -51,6 +59,7 @@ class HomeFragment : Fragment() { xp = view.findViewById(R.id.xpTextView) playermage = view.findViewById(R.id.playerImage) buttonCollect = view.findViewById(R.id.buttonCollect) + equipeditem = view.findViewById(R.id.equipedItemAttack) buttonCollect.setOnClickListener{ findNavController().navigate(R.id.action_homeFragment_to_collectFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build()) } @@ -70,6 +79,8 @@ class HomeFragment : Fragment() { progressbar.progress = currentPlayer.xp progressbar.max = currentPlayer.level*100 playermage.setImageResource(currentPlayer.image) + if(currentPlayer.equipedItem?.type?.image != null) equipeditem.setImageResource( + currentPlayer.equipedItem!!.type.image) } diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/InventoryFragment.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/InventoryFragment.kt index 333f589..343e33a 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/InventoryFragment.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/InventoryFragment.kt @@ -1,5 +1,4 @@ package com.example.shakecraft - import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater @@ -24,6 +23,7 @@ class InventoryFragment() : Fragment( ), AdapterInventory.OnItemLongClickListene override fun onItemLongClick(position: Int) { if(currentPlayer.items[position] is Tool) { if (currentPlayer.equipeItem(currentPlayer.items[position]) == true) + Toast.makeText( context, currentPlayer.items[position].type.name + " was well equipped", @@ -35,7 +35,6 @@ class InventoryFragment() : Fragment( ), AdapterInventory.OnItemLongClickListene currentPlayer.items[position].type.name + " has been well unequipped", Toast.LENGTH_SHORT ).show() - println("equiped item") setUpRecyclerView(view?.parent as ViewGroup, this) } } diff --git a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt index e1a7b33..20c6e76 100644 --- a/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt +++ b/ShakeAndCraft/app/src/main/java/com/example/shakecraft/MainActivity.kt @@ -9,13 +9,13 @@ import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat import androidx.navigation.findNavController +import androidx.navigation.ui.NavigationUI import androidx.navigation.ui.setupWithNavController import com.example.shakecraft.data.Stub - import com.google.android.material.bottomnavigation.BottomNavigationView -class MainActivity : AppCompatActivity() { +class MainActivity: AppCompatActivity() { var currentPlayer = Stub().load() @@ -43,10 +43,22 @@ class MainActivity : AppCompatActivity() { bottomNav = findViewById(R.id.bottomNavigationView) val navController = findNavController(R.id.fragment) + navController.popBackStack(R.id.fragment, false) bottomNav.setupWithNavController(navController) + bottomNav.setOnItemReselectedListener { item -> + // Pop everything up to the reselected item + val reselectedDestinationId = item.itemId + navController.popBackStack(reselectedDestinationId, inclusive = false) + } + bottomNav.setOnItemSelectedListener { item -> + NavigationUI.onNavDestinationSelected(item, navController) + true + } + } + override fun onResume() { super.onResume() diff --git a/ShakeAndCraft/app/src/main/res/drawable/background_equiped_item.xml b/ShakeAndCraft/app/src/main/res/drawable/background_equiped_item.xml new file mode 100644 index 0000000..f1c06dd --- /dev/null +++ b/ShakeAndCraft/app/src/main/res/drawable/background_equiped_item.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml b/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml index da2ef7d..0ac34be 100644 --- a/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml +++ b/ShakeAndCraft/app/src/main/res/layout/fragment_home.xml @@ -66,7 +66,8 @@ + + + + + + + diff --git a/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml b/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml index 0b987d5..5aee5d4 100644 --- a/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml +++ b/ShakeAndCraft/app/src/main/res/navigation/my_nav.xml @@ -48,7 +48,11 @@ + app:enterAnim="@android:anim/fade_in" + app:popUpTo="@id/homeFragment" + app:popUpToInclusive="true" + app:popUpToSaveState="true" + app:restoreState="true" />