示例#1
0
 void OnContextMenuOpen(ISceneData sceneData, ISceneCardView sceneCard)
 {
     contextMenu.transform.position = sceneCard.contextMenuButtonPosition;
     contextMenu.Show(sceneData.id, sceneData.isDeployed,
                      sceneData.isOwner || sceneData.isOperator, sceneData.isContributor);
     sceneCoords = sceneData.coords;
     sceneSource = sceneData.source;
 }
    private void DestroyCardView(ISceneCardView sceneCardView)
    {
        // NOTE: there is actually no need to unsubscribe here, but, just in case...
        sceneCardView.OnEditorPressed      -= OnEditorPressed;
        sceneCardView.OnContextMenuPressed -= OnContextMenuPressed;
        sceneCardView.OnJumpInPressed      -= OnJumpInPressed;
        sceneCardView.OnSettingsPressed    -= OnSceneSettingsPressed;

        sceneCardView.Dispose();
    }
    private ISceneCardView CreateCardView()
    {
        SceneCardView  sceneCardView = Object.Instantiate(sceneCardViewPrefab);
        ISceneCardView view          = sceneCardView;

        view.SetActive(false);
        view.ConfigureDefaultParent(defaultParent);
        view.SetToDefaultParent();

        view.OnEditorPressed      += OnEditorPressed;
        view.OnContextMenuPressed += OnContextMenuPressed;
        view.OnJumpInPressed      += OnJumpInPressed;
        view.OnSettingsPressed    += OnSceneSettingsPressed;

        return(view);
    }
    private void AddScene(ISceneData sceneData, ISceneCardView sceneCardView, bool notify)
    {
        var dictionary = sceneData.isDeployed ? deployedScenes : projectScenes;

        dictionary.Add(sceneData.id, sceneCardView);

        if (notify)
        {
            if (sceneData.isDeployed)
            {
                OnDeployedSceneAdded?.Invoke(sceneCardView);
            }
            else
            {
                OnProjectSceneAdded?.Invoke(sceneCardView);
            }
        }
    }
    /// <summary>
    /// Set selected scene
    /// </summary>
    /// <param name="id">scene id</param>
    void IScenesViewController.SelectScene(string id)
    {
        ISceneCardView sceneCardView = null;

        if (deployedScenes.TryGetValue(id, out ISceneCardView deployedSceneCardView))
        {
            sceneCardView = deployedSceneCardView;
        }
        else if (projectScenes.TryGetValue(id, out ISceneCardView projectSceneCardView))
        {
            sceneCardView = projectSceneCardView;
        }

        selectedScene = sceneCardView;

        if (sceneCardView != null)
        {
            OnSceneSelected?.Invoke(sceneCardView);
        }
    }
    void ISceneCardView.Setup(ISceneData sceneData)
    {
        this.sceneData = sceneData;

        string sceneThumbnailUrl = sceneData.thumbnailUrl;

        if (string.IsNullOrEmpty(sceneThumbnailUrl) && sceneData.parcels != null)
        {
            sceneThumbnailUrl = MapUtils.GetMarketPlaceThumbnailUrl(sceneData.parcels,
                                                                    THMBL_MARKETPLACE_WIDTH, THMBL_MARKETPLACE_HEIGHT, THMBL_MARKETPLACE_SIZEFACTOR);
        }

        ISceneCardView thisView = this;

        thisView.SetThumbnail(sceneThumbnailUrl);
        thisView.SetName(sceneData.name);
        thisView.SetCoords(sceneData.coords);
        thisView.SetSize(sceneData.size);
        thisView.SetDeployed(sceneData.isDeployed);
        thisView.SetUserRole(sceneData.isOwner, sceneData.isOperator, sceneData.isContributor);
        thisView.SetEditable(sceneData.isEditable);

        thisView.searchInfo.SetId(sceneData.id);
    }
示例#7
0
 private void OnSelectScene(ISceneCardView sceneCardView)
 {
     SetProjectData(sceneCardView.sceneData);
 }
示例#8
0
 void IProjectSceneListener.OnSceneAdded(ISceneCardView scene)
 {
     projectScenesCount++;
     SubmenuScenesDirty();
 }
示例#9
0
 void IProjectSceneListener.OnSceneAdded(ISceneCardView scene)
 {
     addedScenes.Add(scene.sceneData.id);
     projectScenes.Add(scene.sceneData.id);
 }
示例#10
0
 void IProjectSceneListener.OnSceneRemoved(ISceneCardView scene)
 {
     removedScenes.Add(scene.sceneData.id);
     projectScenes.Remove(scene.sceneData.id);
 }
示例#11
0
 void IDeployedSceneListener.OnSceneAdded(ISceneCardView scene)
 {
     addedScenes.Add(scene.sceneData.id);
     deployedScenes.Add(scene.sceneData.id);
 }
示例#12
0
 void IDeployedSceneListener.OnSceneRemoved(ISceneCardView scene)
 {
     removedScenes.Add(scene.sceneData.id);
     deployedScenes.Remove(scene.sceneData.id);
 }
示例#13
0
 void ISelectSceneListener.OnSelectScene(ISceneCardView sceneCardView)
 {
     SetSceneData(sceneCardView.sceneData);
 }
示例#14
0
 void ISelectSceneListener.OnSelectScene(ISceneCardView sceneCardView)
 {
     sceneId = sceneCardView.sceneData.id;
     SetAdmins(sceneCardView.sceneData.admins);
     SetBannedUsers(sceneCardView.sceneData.bannedUsers);
 }
示例#15
0
 void IProjectSceneListener.OnSceneRemoved(ISceneCardView scene)
 {
     scene.SetToDefaultParent();
     projectViews.Remove(scene.sceneData.id);
     sceneSearchHandler.RemoveItem(scene.searchInfo);
 }
示例#16
0
 void IProjectSceneListener.OnSceneRemoved(ISceneCardView scene)
 {
     scenesViews.Remove(scene.sceneData.id);
     scene.SetActive(false);
 }
示例#17
0
 void IDeployedSceneListener.OnSceneAdded(ISceneCardView scene)
 {
     deployedScenesCount++;
     SubmenuScenesDirty();
 }
 void ISelectSceneListener.OnSelectScene(ISceneCardView sceneCardView)
 {
     sceneId = sceneCardView.sceneData.id;
     UpdateContributors(sceneCardView.sceneData.contributors);
 }
 void OnSelectScene(ISceneCardView sceneCardView)
 {
     sectionsController.OpenSection(SectionId.SETTINGS_PROJECT_GENERAL);
 }
示例#20
0
 void IProjectSceneListener.OnSceneAdded(ISceneCardView scene)
 {
     projectViews.Add(scene.sceneData.id, scene);
     sceneSearchHandler.AddItem(scene.searchInfo);
 }
示例#21
0
 void IDeployedSceneListener.OnSceneRemoved(ISceneCardView scene)
 {
     deployedScenesCount--;
     SubmenuScenesDirty();
 }
示例#22
0
 void IDeployedSceneListener.OnSceneAdded(ISceneCardView scene)
 {
     deployedViews.Add(scene.sceneData.id, scene);
     sceneSearchHandler.AddItem(scene.searchInfo);
 }
示例#23
0
 void IProjectSceneListener.OnSceneRemoved(ISceneCardView scene)
 {
     projectScenesCount--;
     SubmenuScenesDirty();
 }