Esempio n. 1
0
    public void onObstacle(Player player)
    {
        Debug.Log("Walk on Obstacle");

        //// 播放机关开启音效
        if (GameManagerGlobalData.isFirstMeetObstacle)
        {
            // 第一次进行格挡
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.SWITCH_OBSTACLE_CLIP, () => {
                PlayerAudioCtrl.getInstance().play(PlayerAudioData.HAVE_TO_PARRY_CLIP, () => {
                    player.setState(PlayerState.Parry);
                    ArrowDir _arrowDir = Parry.getInstance().startParry();
                    ObstacleAudioCtrl.getInstance().playAudio(_arrowDir);
                });
            });
        }
        else if (GameManagerGlobalData.isSecondMeetObstacle)
        {
            // 第二次进行格挡
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.SWITCH_OBSTACLE_CLIP, () => {
                player.setState(PlayerState.Parry);
                ArrowDir _arrowDir = Parry.getInstance().startParry();
                ObstacleAudioCtrl.getInstance().playAudio(_arrowDir);
            });
        }
        else
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.SWITCH_OBSTACLE_CLIP, () => {
                player.setState(PlayerState.Parry);
                ArrowDir _arrowDir = Parry.getInstance().startParry();
                ObstacleAudioCtrl.getInstance().playAudio(_arrowDir);
            });
        }
        player.setState(PlayerState.Idle);
    }
Esempio n. 2
0
 public void refuseMoveBack()
 {
     setState(PlayerState.Waiting);
     PlayerAudioCtrl.getInstance().play(PlayerAudioData.REFUSE_BACK_TIPS, () => {
         setState(PlayerState.Idle);
     });
 }
Esempio n. 3
0
 // 游戏失败
 private void Failed()
 {
     Debug.Log("Game Over Failed!");
     // 手势监听,判断游戏结束后用户操作,但是由于目前策划功能不完善,所以这个部分默认是重新开始游戏
     BackgroundAudioCtrl.getInstance().play(BackgroundAudioData.GAME_OVER);
     BackgroundAudioCtrl.getInstance().play(BackgroundAudioData.NONE);
     PlayerAudioCtrl.getInstance().play(PlayerAudioData.RESTART_GAME_TIPS);
     switchGestureToGameOver();
 }
Esempio n. 4
0
    // flag 用于判断,当前格挡状态是成功还是失败
    public void endParry(bool flag)
    {
        if (flag)
        {
            // 格挡成功
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.PARRY_CLIP, () => {
                if (!_firstSuccess)
                {
                    _owner.setState(PlayerState.Idle);
                }
            });

            // 成功格挡次数 + 1
            _parrySuccessCount++;
            if (getSwordRemainCount() == 1)
            {
                PlayerAudioCtrl.getInstance().play(PlayerAudioData.SWORD_WILL_BREAK_CLIP);
            }

            // 播放初次格挡成功音效
            if (_firstSuccess)
            {
                PlayerAudioCtrl.getInstance().play(PlayerAudioData.ESCAPE_CLIP, () => {
                    _firstSuccess = false;
                    _owner.setState(PlayerState.Idle);
                });
            }

            _isParry = false;
            ProjectUtils.Log("Parry Success");
        }
        else
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.HURT_CLIP, () => {
                if (_owner.getLife() != 2)
                {
                    _owner.setLife(-1);
                }
            });

            if (_owner.getLife() == 2)
            {
                PlayerAudioCtrl.getInstance().play(PlayerAudioData.EXCITATION_CLIP, () => {
                    _owner.setState(PlayerState.Idle);
                    _owner.setLife(-1);
                });
            }

            _isParry = false;
            ProjectUtils.Log("Parry Failed");
        }

        _owner.switchGestureToMove();
        _sliderBar.value       = 0;
        _sliderFillImage.color = Color.white;
    }
Esempio n. 5
0
 public void onExit(Player player)
 {
     Debug.Log("Walk exit the room");
     player.setState(PlayerState.Waiting);
     // play audio
     PlayerAudioCtrl.getInstance().play(PlayerAudioData.OPEN_DOOR_CLIP, () => {
         PlayerAudioCtrl.getInstance().play(PlayerAudioData.STEP_CLIP);
         PlayerAudioCtrl.getInstance().play(PlayerAudioData.CLOSE_DOOR_CLIP, () => {
             GameManager.getInstance().GameOver();
             // back to main menu
         });
     });
 }
Esempio n. 6
0
    // init audio
    private void initAudioCtrl()
    {
        AudioPlayCtrl.init(audioManager);
        PlayerAudioCtrl.init(audioManager);
        BackgroundAudioCtrl.init(audioManager);
        ObstacleAudioCtrl.init(audioManager);

        // close contain feature when in the runtime.
        if (PlatformUtils.isTouchUser())
        {
            isDevelop = false;
        }
    }
Esempio n. 7
0
 public void onWalking(Player player, Action handle = null)
 {
     player.setState(PlayerState.Moving);
     PlayerAudioCtrl.getInstance().play(PlayerAudioData.STEP_CLIP, () => {
         if (handle != null)
         {
             handle(player);
         }
         else
         {
             player.setState(PlayerState.Idle);
         }
     });
     return;
 }
Esempio n. 8
0
    // Use this for initialization
    void Start()
    {
        _drawMap = this.GetComponent <DrawMap>();
        MapData.initMapData();
        initAudioCtrl();
        DrawMap();

        if (GameManagerGlobalData.isFirstTimeEnter)
        {
            setGameState(GameState.Plot);
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.CHAPTER_01_1);
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.SLIDER_TO_FRONT_TIPS, initGameState);
            GameManagerGlobalData.isFirstTimeEnter = false;
        }
        else
        {
            initGameState();
        }
    }
Esempio n. 9
0
    public void onWall(Player player)
    {
        Debug.Log("Walk hit the Wall");
        hitOnWallCount++;
        player.setState(PlayerState.Waiting);

        if (hitOnWallCount == 1)
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.HIT_WALL_CLIP, () => {
                PlayerAudioCtrl.getInstance().play(PlayerAudioData.IS_WALL_CLIP, () => {
                    player.setState(PlayerState.Idle);
                });
            });
        }
        else
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.HIT_WALL_CLIP, () => {
                player.setState(PlayerState.Idle);
            });
        }
    }
Esempio n. 10
0
    // 关于各个关卡对应剧情点格子处理方案暂时放在这里
    public void firstMapSpecialPlot(Player player)
    {
        Vector2 pos = player.getPosition();

        // Debug.Log("firstMapSpecialPlot: " + pos.x + ": " + pos.y);

        if (pos.x == 10 && pos.y == 13)
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.SLIDER_TO_LEFT_TIPS, () => {
                player.setState(PlayerState.Idle);
            });
        }
        else if (pos.x == 8 && pos.y == 13)
        {
            GameManager.getInstance().setGameState(GameState.Plot);
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.CHAPTER_01_2, () => {
                player.setState(PlayerState.Idle);
                GameManager.getInstance().setGameState(GameState.Playing);
            });
        }
    }
Esempio n. 11
0
    public void playAudio(ArrowDir dir)
    {
        String name = selectedDir(dir);

        System.String clipName = "";
        AudioPlayObj  obj      = null;

        if (dir == ArrowDir.FRONT)
        {
            clipName = "frontSword";
            obj      = new AudioPlayObj(selectClip(clipName), this, selectSource(name));
        }
        else
        {
            clipName = "bow";
            obj      = new AudioPlayObj(selectClip(clipName), this, selectSource(name));
        }

        AudioPlayCtrl.getInstance().addEffectObj(obj);

        // 教学音频设计需要
        if (GameManagerGlobalData.isFirstMeetObstacle)
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.PARRY_TO_FRONT_TIPS, () => {
                Parry.getInstance().setParry(true);
                GameManagerGlobalData.isFirstMeetObstacle = false;
            });
        }
        else if (GameManagerGlobalData.isSecondMeetObstacle)
        {
            PlayerAudioCtrl.getInstance().play(PlayerAudioData.PARRY_TO_LEFT_TIPS, () => {
                Parry.getInstance().setParry(true);
                GameManagerGlobalData.isSecondMeetObstacle = false;
            });
        }
    }
Esempio n. 12
0
 public static void init(GameObject manager)
 {
     _instance = manager.GetComponent <PlayerAudioCtrl>();
 }
Esempio n. 13
0
 private bool checkParry(ArrowDir _dir)
 {
     PlayerAudioCtrl.getInstance().play(PlayerAudioData.SWING_CLIP);
     _restTime = parryElapseTime;
     return(inTimeRange() && _dir == _arrowDir);
 }