IEnumerator ShowRandomDice() { anim.SetTrigger("stopRoll"); MultiAudioClip multiAudioClip = GetComponent <MultiAudioClip>(); for (int j = 1; j < 4; j++) { for (int i = 0; i < 2; i++) { multiAudioClip.audioSources[0].loop = false; multiAudioClip.audioSources[0].Play(); int num = (int)(Random.value * 6) + 1; setNumber(num); yield return(new WaitForSeconds(0.1f * j)); } } multiAudioClip.audioSources[1].playOnAwake = false; multiAudioClip.audioSources [1].Play(); resultNum = (int)(Random.value * 6) + 1; setNumber(resultNum); if (diceGetter.Method != null) { diceGetter(resultNum); } }
private void ReceiveBuff(NetworkViewID playerId, Vector3 tilePosition, int rollResult) { var character = GameManager.GetCharacterManager(playerId).GetCharacterInstance(); character.SetBuffOrDeBuff(rollResult); MultiAudioClip multiAudioClip = character.GetComponent <MultiAudioClip>(); multiAudioClip.audioSources[0].Play(); BattleUIManager.Get().ShowBuffStartAnimation(playerId, tilePosition); }
void OnMouseDown() { MultiAudioClip multiAudioClip = GetComponent <MultiAudioClip>(); multiAudioClip.audioSources[0].playOnAwake = false; multiAudioClip.audioSources[0].loop = true; multiAudioClip.audioSources[0].Play(); TimeLimitPassed = false; mouseIsUp = false; Invoke("enableRoll", 0.5f); }
// Called from all users. public void BattleLose() { characterInstance.Die(); characterInstance.gameObject.SendMessage("setReturn", true); var move = Run.Coroutine(Move(characterInstance.GetSpawnTile())); Debug.LogWarning(moveState.ToString()); MultiAudioClip multiAudioClip = characterInstance.GetComponent <MultiAudioClip>(); multiAudioClip.audioSources[4].Play(); move.ExecuteWhenDone(() => { characterInstance.gameObject.SendMessage("setReturn", false); if (moveState == MoveState.Battle && GameManager.gameManagerInstance.isMyCharacterManager(this)) { NetworkManager.SendTurnEndMessage(); } moveState = MoveState.Inactive; }); }
Run InteractionWithTile() { int tileKey = GetCurrentTileKey(); Tile tile = TileManager.GetExistTile(tileKey); Tile.TileType tileType = tile.tileType; var returnRun = Run.WaitSeconds(0); MultiAudioClip multiAudioClip = characterInstance.GetComponent <MultiAudioClip>(); if (moveState == MoveState.CheckingSaveTile) { if (tileType == Tile.TileType.Save) { characterInstance.CheckSaveTile(characterMover.GetCurrentTileKey()); multiAudioClip.audioSources[3].Play(); } } else { if (tileType == Tile.TileType.Buff) { NetworkManager.Buff(NetworkManager.Get().Id, tile.transform.position); } else if (tileType == Tile.TileType.Item) { if (characterInstance.GetNumberOfItems() < Character.MaxInventorySize) { multiAudioClip.audioSources[1].Play(); Character.Item newItem = SelectRandomItem(); returnRun = returnRun.Then(() => { return(EffectManager.Get().ShowItemAcquisitionEffect(tile.transform.position, newItem)); }) .ExecuteWhenDone(() => { characterInstance.AddItem(newItem); Debug.Log("Get Item!"); }); } else { Debug.Log("Inventory is full..."); } } else if (tileType == Tile.TileType.Jail) { returnRun = returnRun.Then(() => { return(EffectManager.Get().ShowJailEffect(tile.transform.position)); }) .ExecuteWhenDone(() => { characterInstance.InJail(); }); multiAudioClip.audioSources[2].Play(); } else if (tileType == Tile.TileType.Warp) { //FIXME : Add warp code! //warp tiles are NOT used. Debug.Log("This Tile is Portal!"); } else { // Debug.Log("Default Tile."); } } return(returnRun); }
IEnumerator AnimateDamage(int totalPlayerDice, int totalEnemyDice) { damage = CalculateDamage(totalPlayerDice, totalEnemyDice); target = CompareDamageAndSelectTarget(totalPlayerDice, totalEnemyDice); Debug.Log("PlayerDice : " + totalPlayerDice + ", EnemyDice : " + totalEnemyDice); //show animation with calculation result. //apply damage. MultiAudioClip multiAudioClip = GetComponent <MultiAudioClip>(); yield return(new WaitForSeconds(DelayManager.Get().battleDiceResultToAttackDelay)); if (target != null) { //----------Dodge item. if (useItemsInBattle.Contains(Character.Item.Dodge)) { Run dodgeEffect = Dodge(); yield return(dodgeEffect.WaitFor); useItemsInBattle.Remove(Character.Item.Dodge); UpdateBuffUI(); } if (damage > target.GetHp()) { damage = target.GetHp(); } for (int i = 1; i <= damage; i++) { target.ApplyDamage(1); UpdateRemainHP(); if (target.ui == leftPlayerUI) { rightPlayerUI.unitRenderer.transform.parent.gameObject.SendMessage("Attack"); } else if (target.ui == rightPlayerUI) { leftPlayerUI.unitRenderer.transform.parent.gameObject.SendMessage("Attack"); } target.ui.unitRenderer.transform.parent.gameObject.SendMessage("Hit"); multiAudioClip.audioSources[0].Play(); yield return(new WaitForSeconds(DelayManager.Get().battleHpMinusDelay)); } } else { multiAudioClip.audioSources[1].Play(); if (useItemsInBattle.Contains(Character.Item.Dodge)) { Run dodgeEffect = Dodge(); yield return(dodgeEffect.WaitFor); useItemsInBattle.Remove(Character.Item.Dodge); } else { player.ApplyDamage(1); player.ui.unitRenderer.transform.parent.gameObject.SendMessage("Hit"); } enemy.ApplyDamage(1); UpdateRemainHP(); enemy.ui.unitRenderer.transform.parent.gameObject.SendMessage("Hit"); yield return(new WaitForSeconds(DelayManager.Get().battleHpMinusDelay)); Debug.Log("Each player is Damaged 1"); } if (target == enemy) { Debug.Log("Enemy is Damaged " + damage); } else if (target == player) { Debug.Log("Player is Damaged " + damage); } if (enemy.IsDie()) { enemy.ui.unitRenderer.transform.parent.gameObject.SendMessage("Fade"); yield return(new WaitForSeconds(DelayManager.Get().batttleLoseShowDelay)); state = State.BattleEnd; } else if (player.IsDie()) { player.ui.unitRenderer.transform.parent.gameObject.SendMessage("Fade"); yield return(new WaitForSeconds(DelayManager.Get().batttleLoseShowDelay)); state = State.BattleEnd; } else { var changeAnimation = ChangeAttackOrDefense(); changeAnimation.ExecuteWhenDone(() => { state = State.WaitingRoll; Debug.Log( "PlayerHP : " + player.GetHp() + "/" + player.maxHp + " EnemyHP : " + enemy.GetHp() + "/" + enemy.maxHp ); }); } }