コード例 #1
0
// ~~ private

// ~ Non-Static

// ~~ public
    public void Refresh(
        IAttributeData aData   = null,
        IPortraitData pData    = null,
        IDescriptionData dData = null
        )
    {
        Clear();

        _rootFlexRect = ColumnGridFlexibleRect.GetRect(ViewData, 2);
        _rootFlexRect.transform.SetParent(ContentRect.transform, false);

        bool showPortrait    = pData == null ? false : true;
        bool showAttributes  = aData == null ? false : true;
        bool showDescription = dData == null ? false : true;

        if (showPortrait)
        {
            RefreshPortrait(pData, _rootFlexRect);
        }

        if (showAttributes)
        {
            RefreshAttributes(aData, _rootFlexRect);
        }

        if (showDescription)
        {
            RefreshDescription(dData, _rootFlexRect);
        }

        _rootFlexRect.Refresh();
    }
        public IEnumerator Refresh_DescriptionPortraitArgsAllLocationsSizes_DoesNotThrowException(
            [ValueSource(typeof(ValueSourceCommon), "AllViewLocations")]
            CardinalDirections location,
            [ValueSource(typeof(ValueSourceCommon), "AllViewSizes")]
            ViewSizes size
            )
        {
// Set Up
            SetUpCommon.CreateTestCamera();
            SetUpCommon.CreateTestNameCanvas(TestContext.CurrentContext.Test.Name);

            SubjectDetailView detailView =
                SubjectDetailView.GetView(
                    SetUpCommon.GetUICanvas(),
                    size,
                    location
                    );

            IPortraitData    pData = ValueSourceCommon.GetMockPortraitData();
            IDescriptionData dData = ValueSourceCommon.GetMockDescriptionData();

// Assert
            Assert.DoesNotThrow(() => {
                detailView.Refresh(null, pData, dData);
            });

            yield return(new WaitForSeconds(VisualTimer));

// Tear Down
            TearDownCommon.DestroyAllGameObjects();
        }
コード例 #3
0
    public static IEnumerable <IViewData> AllDetailViewDataTypes()
    {
        IViewData[]    result        = new IViewData[3];
        IAttributeData subAttribData = Substitute.For <IAttributeData>();

        subAttribData.AttributeDictionary.Returns(
            delegate {
            return(GetStubAttributeDict());
        });

        result[0] = subAttribData;

        IPortraitData subPortraitData = Substitute.For <IPortraitData>();

        subPortraitData.Portrait.Returns(
            delegate {
            return(GetStubPortraitData());
        }
            );

        result[1] = subPortraitData;

        IDescriptionData subDescriptionData = Substitute.For <IDescriptionData>();

        subDescriptionData.Description.Returns(
            delegate {
            return(StringPlaceholders.GetLoremIpsumAsParagraphs(1));
        }
            );

        result[2] = subDescriptionData;

        return(result);
    }
コード例 #4
0
    public static IDescriptionData GetMockDescriptionData()
    {
        IDescriptionData result = Substitute.For <IDescriptionData>();

        result.Description.Returns(GetStubDescriptionData());
        return(result);
    }
コード例 #5
0
    private void RefreshDescription(IDescriptionData data, ColumnGridFlexibleRect root)
    {
        GameObject leafObj         = new GameObject("Description");
        Text       descriptionText = leafObj.AddComponent <Text>();

        descriptionText.text  = data.Description;
        descriptionText.color = Color.black;
        descriptionText.font  = UnityBuiltin.Font("Arial");
        leafObj.transform.SetParent(root.transform, false);
    }
コード例 #6
0
    public void TryRemoveData(IViewData data)
    {
        if (data is IAttributeData)
        {
            _attributeData = null;
        }
        else if (data is IDescriptionData)
        {
            _descriptionData = null;
        }
        else if (data is IPortraitData)
        {
            _portraitData = null;
        }

        DeregisterOnDataChangedHandler(data);
    }
コード例 #7
0
    public void TryAddData(IViewData data)
    {
        if (data is IAttributeData)
        {
            _attributeData = data as IAttributeData;
        }
        else if (data is IDescriptionData)
        {
            _descriptionData = data as IDescriptionData;
        }
        else if (data is IPortraitData)
        {
            _portraitData = data as IPortraitData;
        }

        Refresh();
        RegisterOnDataChangedHandler(data);
    }