protected override LayerObjects.Image_UnityGUI MakeNewLayerObject(SnapshotElems.Image elem, IInGameSetting setting)
    {
        GameObject newObj = new GameObject("Image_UnityGUI");

        newObj.transform.parent = ObjectRoot;

        return(new LayerObjects.Image_UnityGUI(this, newObj, setting));
    }
Beispiel #2
0
    protected override LayerObjects.Image_NewUI MakeNewLayerObject(SnapshotElems.Image elem, IInGameSetting setting)
    {
        GameObject newObj = new GameObject("Image_NewUI");

        newObj.layer = gameObject.layer;
        var lobj = new LayerObjects.Image_NewUI(this, newObj, setting);

        newObj.transform.SetParent(ObjectRoot, false);

        return(lobj);
    }
    protected override void SetElemBySegProperties(SnapshotElems.Image elem, Segments.Image seg)
    {
        base.SetElemBySegProperties(elem, seg);

        foreach (var pname in seg.PropertyNames)
        {
            switch (pname)
            {
            case Segments.Image.c_property_AdaptToPerspective:
                elem.adaptToPerspective = seg.adaptToPerspective;
                break;
            }
        }
    }
    protected override void OnCreateElement(Segments.Image segment, FSNSnapshot.Layer layer, SnapshotElems.Image elemCreated)
    {
        base.OnCreateElement(segment, layer, elemCreated);

        if (segment.combinedImgPath != null)                                            // 조합 이미지를 사용하는 경우
        {
            var combimg = FSNResourceCache.Load <FSNCombinedImage>(FSNResourceCache.Category.Script, segment.combinedImgPath);
            if (combimg == null)
            {
                Debug.LogErrorFormat("조합 이미지 파일을 열 수 없습니다. : {0}", segment.texturePath);
            }
            elemCreated.combimg = combimg;
            // 실행 순서 문제 때문에 initial/finalstate의 텍스쳐를 직접 세팅해줘야함 (initial state가 이미 초기화된 상태, 값이 자동으로 복사되지 않음)
            elemCreated.InitialState.combimg = combimg;
            elemCreated.FinalState.combimg   = combimg;
        }
        else
        {                                                                                                                       // 일반 텍스쳐를 사용하는 경우
            var texture = FSNResourceCache.Load <Texture2D>(FSNResourceCache.Category.Script, segment.texturePath);
            if (texture == null)
            {
                Debug.LogErrorFormat("텍스쳐 파일을 열 수 없습니다. : {0}", segment.texturePath);
            }
            elemCreated.texture = texture;
            // 실행 순서 문제 때문에 initial/finalstate의 텍스쳐를 직접 세팅해줘야함 (initial state가 이미 초기화된 상태, 값이 자동으로 복사되지 않음)
            elemCreated.InitialState.texture = texture;
            elemCreated.FinalState.texture   = texture;
        }

        var pivotVec = Segments.Image.ConvertPivotPresetToVector(segment.pivot);

        elemCreated.pivot = pivotVec;
        elemCreated.InitialState.pivot = pivotVec;
        elemCreated.FinalState.pivot   = pivotVec;
    }