예제 #1
0
 public void OnSceneResultReceived(object data)
 {
     if (data is MazeSceneController.MazeSceneData)
     {
         MazeSceneController.MazeSceneData mazeSceneData = (MazeSceneController.MazeSceneData)data;
         mazeSceneData.Terminal.OnHackAttemptResultReceived(mazeSceneData);
     }
 }
예제 #2
0
    public void OnHackAttemptResultReceived(MazeSceneController.MazeSceneData mazeSceneData)
    {
        if (Fading.Instance)
        {
            Fading.Instance.FadeSpeed = 0.8f;
            Fading.Instance.BeginFade(Fading.FadeIn);
        }

        if (mazeSceneData.Result)
        {
            _interactiveObject.enabled = false;
            OnHacked.Invoke();
            Debug.Log("Hacked");
        }
        else
        {
            Debug.Log("Couldn't hack");
            OnFailed.Invoke();
        }
    }
예제 #3
0
    public void AttemptHacking()
    {
        MazeSceneController.MazeSceneData mazeSceneData = new MazeSceneController.MazeSceneData()
        {
            MazeLevelKey = MazeLevelKey,
            Terminal     = this
        };

        Action loadMazeScene = () => { _sceneSwitcher.SwitchScene("MazeScene-Final", true, mazeSceneData); };

        if (Fading.Instance)
        {
            Fading.Instance.FadeSpeed = 0.7f;
            Fading.Instance.BeginFade(Fading.FadeOut, loadMazeScene);
        }
        else
        {
            loadMazeScene();
        }
    }