Closed aburi6800 closed 3 years ago
ただし、薬は同じものを買えないとならないため、対策が必要。 薬のみの特例なので、stateDrugsでオーバーライドするか?
baseFacilityState.py: BaseFacilityStateクラスはEnforceOverridesを継承するように修正。
baseShopState.py: BaseShopStateクラスはEnforceOverridesを継承するように修正。 initメソッドでreturnStateを定義。(初期値はNone) update_buyメソッドでエラー時にreturnStateに現在のStateを設定するように修正。 update_errorメソッドで遷移先にreturnStateを設定するように修正。
stateArmorShop.py: update_equipメソッドをオーバーライド、装備者が同じものを持っているかのチェックを追加。 update_equip_saleParsonメソッドで、self.itemではなく引数のitemを設定するように修正。
stateHelmetShop.py: update_equipメソッドをオーバーライド、装備者が同じものを持っているかのチェックを追加。 update_equip_saleParsonメソッドで、self.itemではなく引数のitemを設定するように修正。
stateShieldShop.py: エラー処理を共通化したため、クラス変数STATE_NOEQUIPを削除。 STATE_NOEQUIPを削除したため、update_executeメソッドのオーバーライド、update_noequipメソッドを削除。 update_equipメソッドで、両手持ち武器を持っている場合、同じ装備を持っていた場合のエラー処理を共通化。 update_equip_saleParsonメソッドで、self.itemではなく引数のitemを設定するように修正。 STATE_NOEQUIPを削除したため、drawメソッドのオーバーライド、draw_noequipメソッドを削除。
stateWeaponShop.py: update_equipメソッドで、同じ装備を持っていた場合、盾を持っているときに両手持ち武器を装備しようとした場合のエラー処理を共通化。 update_equip_saleParsonメソッドで、self.itemではなく引数のitemを設定するように修正。
今は無条件に同じものを購入できるので、それをやめたい。