mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-21 05:09:25 +07:00
Treaties are now correctly added and removed from both sides of the table together
This commit is contained in:
@ -3,17 +3,27 @@ package com.unciv.ui.trade
|
||||
import com.badlogic.gdx.scenes.scene2d.Stage
|
||||
import com.badlogic.gdx.scenes.scene2d.ui.Table
|
||||
import com.unciv.logic.trade.TradeLogic
|
||||
import com.unciv.logic.trade.TradeOffer
|
||||
import com.unciv.logic.trade.TradeOffersList
|
||||
import com.unciv.logic.trade.TradeType
|
||||
import com.unciv.models.gamebasics.tr
|
||||
import com.unciv.ui.utils.CameraStageBaseScreen
|
||||
import com.unciv.ui.utils.addSeparator
|
||||
|
||||
/** This is the class that holds the 4 columns of the offers (ours/theirs/ offered/available) in trade */
|
||||
class OfferColumnsTable(val tradeLogic: TradeLogic, stage: Stage, onChange: ()->Unit): Table(CameraStageBaseScreen.skin) {
|
||||
class OfferColumnsTable(val tradeLogic: TradeLogic, stage: Stage, val onChange: ()->Unit): Table(CameraStageBaseScreen.skin) {
|
||||
|
||||
val ourAvailableOffersTable = OffersListScroll { tradeLogic.currentTrade.ourOffers.add(it); onChange() }
|
||||
val ourOffersTable = OffersListScroll { tradeLogic.currentTrade.ourOffers.add(it.copy(amount = -it.amount)); onChange() }
|
||||
val theirOffersTable = OffersListScroll { tradeLogic.currentTrade.theirOffers.add(it.copy(amount = -it.amount)); onChange() }
|
||||
val theirAvailableOffersTable = OffersListScroll { tradeLogic.currentTrade.theirOffers.add(it); onChange() }
|
||||
fun addOffer(offer:TradeOffer, offerList:TradeOffersList, correspondingOfferList:TradeOffersList){
|
||||
offerList.add(offer.copy())
|
||||
if(offer.type==TradeType.Treaty) correspondingOfferList.add(offer.copy())
|
||||
onChange()
|
||||
}
|
||||
|
||||
// todo - add logic that treaties are added and removed from both sides of the table
|
||||
val ourAvailableOffersTable = OffersListScroll { addOffer(it,tradeLogic.currentTrade.ourOffers, tradeLogic.currentTrade.theirOffers) }
|
||||
val ourOffersTable = OffersListScroll { addOffer(it.copy(amount=-it.amount),tradeLogic.currentTrade.ourOffers, tradeLogic.currentTrade.theirOffers) }
|
||||
val theirOffersTable = OffersListScroll { addOffer(it.copy(amount=-it.amount),tradeLogic.currentTrade.theirOffers, tradeLogic.currentTrade.ourOffers) }
|
||||
val theirAvailableOffersTable = OffersListScroll { addOffer(it,tradeLogic.currentTrade.theirOffers, tradeLogic.currentTrade.ourOffers) }
|
||||
|
||||
init {
|
||||
defaults().pad(5f)
|
||||
|
Reference in New Issue
Block a user