예제 #1
0
    public void BuilderInWorldQuickBar()
    {
        BuilderInWorldTestHelper.CreateTestCatalogLocalSingleObject();
        CatalogItem item = DataStore.i.builderInWorld.catalogItemDict.GetValues()[0];

        CatalogItemAdapter adapter = BuilderInWorldTestHelper.CreateCatalogItemAdapter(gameObjectToUse);

        adapter.SetContent(item);

        CatalogAssetGroupAdapter groupAdatper = new CatalogAssetGroupAdapter();

        groupAdatper.AddAdapter(adapter);

        CatalogGroupListView catalogGroupListView = new CatalogGroupListView();

        catalogGroupListView.AddAdapter(groupAdatper);
        catalogGroupListView.generalCanvas = Utils.GetOrCreateComponent <Canvas>(gameObjectToUse);

        QuickBarView quickBarView = new QuickBarView();

        quickBarView.catalogGroupListView = catalogGroupListView;

        QuickBarController quickBarController = new QuickBarController(quickBarView);
        int slots = quickBarController.GetSlotsCount();

        quickBarView.shortcutsImgs = new QuickBarSlot[slots];

        for (int i = 0; i < slots; i++)
        {
            quickBarView.SetIndexToDrop(i);
            adapter.AdapterStartDragging(null);
            quickBarView.SceneObjectDropped(null);
            Assert.AreEqual(item, quickBarController.QuickBarObjectSelected(i));
        }
    }
예제 #2
0
 public void SetContent(string category, List <CatalogItem> catalogItemList)
 {
     categoryTxt.text = category.ToUpper();
     RemoveAdapters();
     foreach (CatalogItem catalogItem in catalogItemList)
     {
         CatalogItemAdapter adapter = Instantiate(catalogItemAdapterPrefab, categoryContentGO.transform).GetComponent <CatalogItemAdapter>();
         adapter.SetContent(catalogItem);
         SubscribeToEvents(adapter);
     }
 }
 public void SetContent(string category, List <SceneObject> sceneObjectsList)
 {
     categoryTxt.text = category.ToUpper();
     RemoveAdapters();
     foreach (SceneObject sceneObject in sceneObjectsList)
     {
         CatalogItemAdapter adapter = Instantiate(catalogItemAdapterPrefab, categoryContentGO.transform).GetComponent <CatalogItemAdapter>();
         adapter.SetContent(sceneObject);
         adapter.OnSceneObjectClicked  += SceneObjectClicked;
         adapter.OnSceneObjectFavorite += SceneObjectFavorite;
         adapter.OnAdapterStartDrag    += AdapterStartDragging;
         adapter.OnAdapterDrag         += OnDrag;
         adapter.OnAdapterEndDrag      += OnEndDrag;
     }
 }
예제 #4
0
    private void AdapterStartDragging(CatalogItem catalogItemClicked, CatalogItemAdapter adapter, BaseEventData data)
    {
        PointerEventData eventData = data as PointerEventData;

        if (draggedObject == null)
        {
            draggedObject = Instantiate(adapter.gameObject, generalCanvas.transform);
        }

        CatalogItemAdapter newAdapter = draggedObject.GetComponent <CatalogItemAdapter>();

        RectTransform adapterRT = adapter.GetComponent <RectTransform>();

        newAdapter.SetContent(adapter.GetContent());
        newAdapter.EnableDragMode(adapterRT.sizeDelta);
        catalogItemAdapterDragged = newAdapter;

        OnStopInput?.Invoke();
    }
    public void BuilderInWorldQuickBar()
    {
        BIWTestHelper.CreateTestCatalogLocalSingleObject();
        CatalogItem item = DataStore.i.dataStoreBuilderInWorld.catalogItemDict.GetValues()[0];

        CatalogItemAdapter adapter = BIWTestHelper.CreateCatalogItemAdapter(gameObjectToUse);

        adapter.SetContent(item);

        CatalogAssetGroupAdapter groupAdapter = new GameObject("_CatalogAssetGroupAdapter").AddComponent <CatalogAssetGroupAdapter>();

        groupAdapter.SubscribeToEvents(adapter);

        CatalogGroupListView catalogGroupListView = new GameObject("_CatalogGroupListView").AddComponent <CatalogGroupListView>();

        catalogGroupListView.SubscribeToEvents(groupAdapter);
        catalogGroupListView.generalCanvas = Utils.GetOrCreateComponent <Canvas>(gameObjectToUse);
        SceneCatalogView sceneCatalogView = SceneCatalogView.Create();

        sceneCatalogView.catalogGroupListView = catalogGroupListView;
        SceneCatalogController sceneCatalogController = new SceneCatalogController();

        QuickBarView quickBarView = QuickBarView.Create();

        QuickBarController quickBarController = new QuickBarController();

        sceneCatalogController.Initialize(sceneCatalogView, quickBarController);
        quickBarController.Initialize(quickBarView, sceneCatalogController);
        int slots = quickBarController.GetSlotsCount();

        quickBarView.shortcutsImgs = new QuickBarSlot[slots];

        for (int i = 0; i < slots; i++)
        {
            quickBarController.SetIndexToDrop(i);
            adapter.AdapterStartDragging(null);
            quickBarController.SetQuickBarShortcut(item, i, new Texture2D(10, 10));
            Assert.AreEqual(item, quickBarController.QuickBarObjectSelected(i));
        }
    }