package sample.game.model.titleAi; import library.core.listener.OnCoreTouchDownListener; import library.core.mainAI.RiverCrossingAI; import library.core.model.CoreModel; import library.core.system.CoreImageData; import sample.game.controller.TitleAiController; public class NumberButton extends CoreModel implements OnCoreTouchDownListener{ public enum TitleAiButtonType{ boat, minister, wolf, cabbage, cattle, }; private TitleAiButtonType type=TitleAiButtonType.boat; private int num=0; private CoreImageData onImage; private CoreImageData offImage; private TitleAiController controller; private boolean canUse; public NumberButton(boolean isOn,TitleAiController controller,TitleAiButtonType type,int menberNum, CoreImageData onImage,CoreImageData offImage, float centerX, float centerY, float width, float height) { super(offImage, centerX, centerY, width, height); this.type=type; this.num=menberNum; this.controller=controller; this.onImage=onImage; this.offImage=offImage; this.canUse=true; if(isOn){ this.setNum(); this.setImageData(onImage); } } /* *//** * 個数の変更 *//* @Override public void onTouchUp() { if(!canUse) return; //controller.iconMove(type); switch (type) { case boat: this.controller.setBoatSize(num); break; case minister: this.controller.setMinisterNum(num); break; case wolf: this.controller.setWolfNum(num); break; case cabbage: this.controller.setCabbageNum(num); break; case cattle: this.controller.setCattleNum(num); break; } this.setImageData(onImage); //自身と同じ属性のボタンをオフにする controller.elseButtonOff(this); }*/ /** * ボタンをオフにする (タイプを与えてそのタイプならボタンを消す) */ public void setOffImage(TitleAiButtonType type){ if(type==this.type){ this.setImageData(offImage); } } public TitleAiButtonType getType() { return type; } /** * ボタンの有効設定 * @param canUse */ public void setCanUse(boolean canUse) { this.canUse = canUse; } @Override public void onTouchDown() { if(!canUse) return; RiverCrossingAI.getSePlayer().play(2); this.setNum(); this.setImageData(onImage); //自身と同じ属性のボタンをオフにする controller.elseButtonOff(this); } private void setNum(){ switch (type) { case boat: this.controller.setBoatSize(num); break; case minister: this.controller.setMinisterNum(num); break; case wolf: this.controller.setWolfNum(num); break; case cabbage: this.controller.setCabbageNum(num); break; case cattle: this.controller.setCattleNum(num); break; } } }