Beispiel #1
0
    protected void SetUp()
    {
        RenderProfileManifest.i.Initialize();

        sceneHandler = Substitute.For <ISceneHandler>();

        var allLoadedParcelCoords = new HashSet <Vector2Int>();

        allLoadedParcelCoords.Add(new Vector2Int(0, 0));
        allLoadedParcelCoords.Add(new Vector2Int(-1, 0));
        allLoadedParcelCoords.Add(new Vector2Int(-1, 1));

        sceneHandler.GetAllLoadedScenesCoords().Returns(allLoadedParcelCoords);

        var animationHandler = Substitute.For <IBlockerAnimationHandler>();

        //NOTE(Brian): Call OnFinish() when blockerAnimationHandler.FadeOut is called.
        animationHandler.FadeOut(Arg.Any <GameObject>(), Arg.Invoke());

        var newBlockerInstanceHandler = new BlockerInstanceHandler();

        newBlockerInstanceHandler.Initialize(animationHandler);

        blockerInstanceHandler = newBlockerInstanceHandler;
        blockersParent         = new GameObject();
        blockerInstanceHandler.SetParent(blockersParent.transform);

        blockerController = new WorldBlockersController();
        blockerController.Initialize(sceneHandler, blockerInstanceHandler);
    }
    public void SetupBlockersOnlyWhenEnabled()
    {
        // Arrange
        blockerInstanceHandler = Substitute.For <IBlockerInstanceHandler>();
        blockerInstanceHandler.GetBlockers().Returns(new Dictionary <Vector2Int, PoolableObject>());
        blockerController = new WorldBlockersController(sceneHandler, blockerInstanceHandler, new DCLCharacterPosition());

        // Act-assert #1: first blockers added should be shown
        blockerController.SetupWorldBlockers();
        blockerInstanceHandler.ReceivedWithAnyArgs().ShowBlocker(default);
Beispiel #3
0
        public void Initialize(ISceneHandler sceneHandler, IBlockerInstanceHandler blockerInstanceHandler)
        {
            this.blockerInstanceHandler = blockerInstanceHandler;
            this.sceneHandler           = sceneHandler;

            blockerInstanceHandler.SetParent(blockersParent);

            CommonScriptableObjects.worldOffset.OnChange -= OnWorldReposition;
            CommonScriptableObjects.worldOffset.OnChange += OnWorldReposition;

            CommonScriptableObjects.rendererState.OnChange -= OnRendererStateChange;
            CommonScriptableObjects.rendererState.OnChange += OnRendererStateChange;
        }
        public WorldBlockersController(ISceneHandler sceneHandler, IBlockerInstanceHandler blockerInstanceHandler, DCLCharacterPosition characterPosition)
        {
            this.blockerInstanceHandler = blockerInstanceHandler;
            this.sceneHandler           = sceneHandler;
            this.characterPosition      = characterPosition;

            blockersParent          = new GameObject("WorldBlockers").transform;
            blockersParent.position = Vector3.zero;

            blockerInstanceHandler.SetParent(blockersParent);

            characterPosition.OnPrecisionAdjust += OnWorldReposition;
        }
Beispiel #5
0
    public void SetupBlockersOnlyWhenEnabled()
    {
        // Arrange
        blockerInstanceHandler = Substitute.For <IBlockerInstanceHandler>();
        blockerInstanceHandler.GetBlockers().Returns(new Dictionary <Vector2Int, PoolableObject>());

        if (blockerController != null)
        {
            blockerController.Dispose();
        }

        blockerController.Initialize(sceneHandler, blockerInstanceHandler);

        // Act-assert #1: first blockers added should be shown
        blockerController.SetupWorldBlockers();
        blockerInstanceHandler.ReceivedWithAnyArgs().ShowBlocker(default);