package com.overlap2d.plugins.tiled.offset; import com.badlogic.gdx.math.Vector2; import com.overlap2d.plugins.tiled.TiledPlugin; import com.puremvc.patterns.mediator.SimpleMediator; import com.puremvc.patterns.observer.Notification; /** * Created by mariam on 5/12/16. */ public class OffsetPanelMediator extends SimpleMediator<OffsetPanel> { private static final String TAG = OffsetPanelMediator.class.getCanonicalName(); public static final String NAME = TAG; private TiledPlugin tiledPlugin; public OffsetPanelMediator(TiledPlugin tiledPlugin) { super(NAME, tiledPlugin.offsetPanel); this.tiledPlugin = tiledPlugin; } @Override public String[] listNotificationInterests() { return new String[] { TiledPlugin.ACTION_OPEN_OFFSET_PANEL, TiledPlugin.TILE_GRID_OFFSET_ADDED, TiledPlugin.TILE_SELECTED }; } @Override public void handleNotification(Notification notification) { super.handleNotification(notification); switch (notification.getName()) { case TiledPlugin.ACTION_OPEN_OFFSET_PANEL: viewComponent.refreshOffsetValues(); viewComponent.show(tiledPlugin.getAPI().getUIStage()); break; case TiledPlugin.TILE_GRID_OFFSET_ADDED: Vector2 offsetValue = notification.getBody(); tiledPlugin.setSelectedTileGridOffset(offsetValue); tiledPlugin.applySelectedTileGridOffset(); break; case TiledPlugin.TILE_SELECTED: if (viewComponent.isOpen) { viewComponent.refreshOffsetValues(); } break; } } }