private void getFood(PlayerStatus aPlayer, int aFood, Action aCallback) { if (aFood != 0) { MySoundPlayer.playSe("decision22"); } aPlayer.mFood += aFood; sortPlayerRank(); GameAnimation.getFood(mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber], aFood, aCallback); }
//拡大する private void expandLand(PlayerStatus aPlayer, LandMasStatus aLand) { MySoundPlayer.playSe("decision7"); aPlayer.mFood -= aLand.mExpansionCost; aPlayer.mTerritory += aLand.mExpansionCost; mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber].updateDisplay(aPlayer); aLand.mExpansionLevel += 1; ((LandMasDisplay)mElement.mMasDisplay[aLand.mMasNumber]).updateDisplay(aLand); }
//占領する private void occupyLand(PlayerStatus aPlayer, LandMasStatus aLand) { MySoundPlayer.playSe("decision7"); aPlayer.mFood -= aLand.mValue; aPlayer.mTerritory += aLand.mValue; mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber].updateDisplay(aPlayer); aLand.mOwnerNumber = aPlayer.mPlayerNumber; ((LandMasDisplay)mElement.mMasDisplay[aLand.mMasNumber]).updateDisplay(aLand); }
//次のマスに移動する public void moveNextMass(Action aCallback) { int tNextMassNum = (mTurnPlayer.mCurrentMassNumber + 1) % mMaster.mFeild.mMassList.Count; mTurnPlayer.mComa.moveToWithSpeed(mMaster.mFeild.mMassList[tNextMassNum].position, mMoveSpeed, () => { mTurnPlayer.mCurrentMassNumber = tNextMassNum; MySoundPlayer.playSe("step", false); aCallback(); }); }
//解放する private void freeLand(LandMasStatus aLand, Action aCallback) { MySoundPlayer.playSe("cancel1"); PlayerStatus tOwner = mElement.mPlayerStatus[aLand.mOwnerNumber]; tOwner.mFood += aLand.mFreeCost; aLand.mOwnerNumber = -1; tOwner.mTerritory -= aLand.mTotalValue; mElement.mPlayerStatusDisplay[tOwner.mPlayerNumber].updateDisplay(tOwner); ((LandMasDisplay)mElement.mMasDisplay[aLand.mMasNumber]).updateDisplay(aLand); setTimeout(1, aCallback); }
public void changeIncreaseLevel(int aLevel, Action aCallback) { MySoundPlayer.playSe("increase", false); mIncreaseLevel = aLevel; updateValueDisplay(); mBuildingRenderer.sprite = Resources.Load <Sprite>("sprites/feild/mass/building" + aLevel.ToString()); mBuilding.scale2D = new Vector2(0, 0); mBuilding.scaleTo(new Vector2(0.2f, 1.3f), 0.2f, () => { mBuilding.scaleTo(new Vector2(1.3f, 0.6f), 0.2f, () => { mBuilding.scaleTo(new Vector2(1, 1), 0.2f, () => { aCallback(); }); }); }); }
private void lostFood(PlayerStatus aPlayer, int aFood, Action aCallback) { if (aFood != 0) { MySoundPlayer.playSe("decision14"); } aPlayer.mFood -= aFood; sortPlayerRank(); GameAnimation.getFood(mElement.mPlayerStatusDisplay[aPlayer.mPlayerNumber], -aFood, () => { if (aPlayer.mFood >= 0) { aCallback(); } else { endanger(aPlayer, aCallback); } }); }
private void moveFood(PlayerStatus aGetter, PlayerStatus aPayer, int aFood, Action aCallback) { MySoundPlayer.playSe("decision14"); aGetter.mFood += aFood; aPayer.mFood -= aFood; sortPlayerRank(); CallbackSystem tSystem = new CallbackSystem(); GameAnimation.getFood(mElement.mPlayerStatusDisplay[aGetter.mPlayerNumber], aFood, tSystem.getCounter()); GameAnimation.getFood(mElement.mPlayerStatusDisplay[aPayer.mPlayerNumber], -aFood, tSystem.getCounter()); tSystem.then(() => { if (aPayer.mFood < 0) { endanger(aPayer, aCallback); return; } aCallback(); }); }
public void open(int aNum) { if (mIsOpen) { return; } mIsOpen = true; mBox.scaleTo(new Vector2(0, 0), 0.3f); mNumber.scaleTo(new Vector2(3, 3), 0.3f); mNumMesh.text = aNum.ToString(); //sound MySoundPlayer.playSe("open", false); //light for (int i = 0; i < 5; i++) { throwLight(); } }
public void flip(bool aToFront, Action aCallback = null) { MySoundPlayer.playSe("dealing_cards1", true); _IsFront = aToFront; this.scaleToWithSpeed(new Vector2(0, 1), 5, () => { if (aToFront) { showFront(); } else { showBack(); } this.scaleToWithSpeed(new Vector2(1, 1), 5, () => { if (aCallback != null) { aCallback(); } }); }); }
private void Start() { Arg tArg = MySceneManager.getArg("eventBox"); mText.text = tArg.get <string>("text"); mWindow.scale2D = new Vector2(0, 0); mBox.moveTo(new Vector3(0, 1, 0), 0.4f, () => { MyBehaviour.setTimeoutToIns(0.2f, () => { MySoundPlayer.playSe("open", false); mEventBox.scaleTo(new Vector2(0, 0), 0.3f); mWindow.scaleTo(new Vector2(1, 1), 0.4f); for (int i = 0; i < 5; i++) { throwLight(mBox.worldPosition); } MyBehaviour.setTimeoutToIns(1.5f, () => { MySceneManager.closeScene("eventBox"); }); }); }); }
static public void lostCoin(Vector3 aPosition, string aLabel, Action aCallback) { MyBehaviour tContainer = MyBehaviour.create <MyBehaviour>(); tContainer.name = "lostCoin"; tContainer.position = aPosition; MySoundPlayer.playSe("lost", false); CallbackSystem tSystem = new CallbackSystem(); KinCoin tPrefab = Resources.Load <KinCoin>("prefabs/game/effect/coin"); for (int i = 0; i < 10; i++) { Action tCounter = tSystem.getCounter(); MyBehaviour.setTimeoutToIns(0.1f * i, () => { KinCoin tCoin = GameObject.Instantiate(tPrefab); tCoin.transform.SetParent(tContainer.transform, false); tCoin.lost(tCounter); }); } tSystem.then(aCallback); }
//所持食糧が負の数になった private void endanger(PlayerStatus aPlayer, Action aCallback) { MySoundPlayer.playSe("cursor6"); mElement.mTable.showMessage((aPlayer.mPlayerNumber + 1) + "Pは絶滅の危機です"); setTimeout(1, () => { Action tAskFree = () => { }; tAskFree = () => { //絶滅判定 if (aPlayer.mTerritory <= 0) { endangered(aPlayer, aCallback); return; } //解放する土地を選択する bool tAnsered = false; aPlayer.mController.freeLand(aPlayer, mElement, (aLand) => { if (tAnsered == true) { return; } tAnsered = true; freeLand(aLand, () => { if (aPlayer.mFood < 0) { tAskFree();//まだ負の数 } else { mElement.mTable.hideMessage(); aCallback(); } }); }); }; tAskFree(); }); }