Exemple #1
0
    /* ******************************************************** */
    //! Get Material

    /*!
     * @param	IndexCellMap
     *      Serial-number of using Cell-Map
     * @param	Operation
     *      Color-Blend Operation for the target
     * @retval	Return-Value
     *      Material
     */
    public Material MaterialGet(int IndexCellMap, Library_SpriteStudio.KindColorOperationEffect KindOperation)
    {
#if false
        return(((0 <= IndexCellMap) && (DataCellMap.ListDataCellMap.Length > IndexCellMap) &&
                (Library_SpriteStudio.KindColorOperationEffect.NON < KindOperation) && (Library_SpriteStudio.KindColorOperationEffect.TERMINATOR > KindOperation)
                )
                                ? TableMaterial[(IndexCellMap * ((int)Library_SpriteStudio.KindColorOperationEffect.TERMINATOR - 1)) + ((int)KindOperation - 1)]
                                : null
               );
#else
        if ((0 > IndexCellMap) && (DataCellMap.ListDataCellMap.Length <= IndexCellMap))
        {
            return(null);
        }
        if ((Library_SpriteStudio.KindColorOperationEffect.NON >= KindOperation) && (Library_SpriteStudio.KindColorOperationEffect.TERMINATOR_KIND <= KindOperation))
        {
            return(null);
        }
        int IndexBlendKind = (int)KindOperation - 1;
        int IndexMaterial  = IndexMaterialBlendDefault[IndexBlendKind];
        if ((null != IndexMaterialBlendOffset) && (0 < IndexMaterialBlendOffset.Length))
        {
            IndexMaterial += IndexMaterialBlendOffset[IndexBlendKind];
        }
        return(TableMaterial[(IndexCellMap * ((int)Library_SpriteStudio.KindColorOperationEffect.TERMINATOR - 1)) + IndexMaterial]);
#endif
    }
Exemple #2
0
    /* ******************************************************** */
    //! Get Material

    /*!
     * @param	IndexCellMap
     *      Serial-number of using Cell-Map<br>
     *      MEMO: using Texture-Index ,After Ver.1.4.3
     * @param	Operation
     *      Color-Blend Operation for the target
     * @retval	Return-Value
     *      Material
     */
    public Material MaterialGet(int IndexCellMap, Library_SpriteStudio.KindColorOperationEffect KindOperation)
    {
        const int CountLength = (int)Library_SpriteStudio.KindColorOperationEffect.TERMINATOR - 1;

        if ((0 > IndexCellMap) || (null == TableMaterial) || ((TableMaterial.Length / CountLength) <= IndexCellMap))
        {
            return(null);
        }
        if ((Library_SpriteStudio.KindColorOperationEffect.NON >= KindOperation) || (Library_SpriteStudio.KindColorOperationEffect.TERMINATOR_KIND <= KindOperation))
        {
            return(null);
        }
        int IndexBlendKind = (int)KindOperation - 1;
        int IndexMaterial  = IndexMaterialBlendDefault[IndexBlendKind];

        if ((null != IndexMaterialBlendOffset) && (0 < IndexMaterialBlendOffset.Length))
        {
            IndexMaterial += IndexMaterialBlendOffset[IndexBlendKind];
        }
        return(TableMaterial[(IndexCellMap * CountLength) + IndexMaterial]);
    }
Exemple #3
0
    public override void OnInspectorGUI()
    {
        Script_SpriteStudio_RootEffect Data = (Script_SpriteStudio_RootEffect)target;

        EditorGUILayout.LabelField("[SpriteStudio Root-Effect]");
        int LevelIndent = 0;

        EditorGUILayout.Space();
        Data.InstanceManagerDraw = (Script_SpriteStudio_ManagerDraw)(EditorGUILayout.ObjectField("View (Manager-Draw)", Data.InstanceManagerDraw, typeof(Script_SpriteStudio_ManagerDraw), true));

        EditorGUILayout.Space();
        FoldOutStaticDatas = EditorGUILayout.Foldout(FoldOutStaticDatas, "Static Datas");
        if (true == FoldOutStaticDatas)
        {
            EditorGUI.indentLevel = LevelIndent + 1;
            Data.DataCellMap      = (Script_SpriteStudio_DataCell)(EditorGUILayout.ObjectField("Data:CellMap", Data.DataCellMap, typeof(Script_SpriteStudio_DataCell), true));
            Data.DataEffect       = (Script_SpriteStudio_DataEffect)(EditorGUILayout.ObjectField("Data:Effect", Data.DataEffect, typeof(Script_SpriteStudio_DataEffect), true));
            EditorGUI.indentLevel = LevelIndent;
        }

        EditorGUILayout.Space();
        FoldOutMaterialTable = EditorGUILayout.Foldout(FoldOutMaterialTable, "Based-Material Table");
        if (true == FoldOutMaterialTable)
        {
            EditorGUI.indentLevel = LevelIndent + 1;
            if (null != Data.TableMaterial)
            {
                int CountShader   = (int)(Library_SpriteStudio.KindColorOperationEffect.TERMINATOR - 1);
                int Count         = Data.TableMaterial.Length / CountShader;
                int MaterialNoTop = 0;
                Library_SpriteStudio.KindColorOperationEffect MaterialTableNo = 0;
                string NameField = "";
                for (int i = 0; i < Count; i++)
                {
                    MaterialNoTop = i * (int)(Library_SpriteStudio.KindColorOperationEffect.TERMINATOR - 1);
                    EditorGUILayout.LabelField("Material No ["
                                               + MaterialNoTop
                                               + "-"
                                               + ((MaterialNoTop + CountShader) - 1)
                                               + "]: Texture-"
                                               + i
                                               );

                    EditorGUI.indentLevel = LevelIndent + 2;
                    for (int j = 0; j < CountShader; j++)
                    {
                        MaterialTableNo = (Library_SpriteStudio.KindColorOperationEffect)(j + 1);
                        NameField       = "Shader [" + MaterialTableNo.ToString() + "]";
                        Data.TableMaterial[MaterialNoTop + j] = (Material)(EditorGUILayout.ObjectField(NameField, Data.TableMaterial[MaterialNoTop + j], typeof(Material), false));
                    }
                    EditorGUILayout.Space();
                    EditorGUI.indentLevel = LevelIndent + 1;
                }
            }
            EditorGUI.indentLevel = LevelIndent;
        }

        EditorGUILayout.Space();
        FoldOutMaterialApplied = EditorGUILayout.Foldout(FoldOutMaterialApplied, "Applied-Material Setting");
        if (true == FoldOutMaterialApplied)
        {
            if ((null == Data.IndexMaterialBlendOffset) || (0 >= Data.IndexMaterialBlendOffset.Length))
            {
                Data.TableCreateBlendOffset();
            }

            int CountBlendKind = (int)(Library_SpriteStudio.KindColorOperationEffect.TERMINATOR_KIND - 1);
            for (int i = 0; i < CountBlendKind; i++)
            {
                Data.IndexMaterialBlendOffset[i] = EditorGUILayout.IntPopup(((Library_SpriteStudio.KindColorOperationEffect)(i + 1)).ToString() + "-Shader", Data.IndexMaterialBlendOffset[i], ListNameShader[i], ListIndexOffsetShader[i]);
            }
        }

        EditorGUILayout.Space();
        FoldOutPlayInformation = EditorGUILayout.Foldout(FoldOutPlayInformation, "Initial/Preview Play Setting");
        if (true == FoldOutPlayInformation)
        {
            EditorGUI.indentLevel = LevelIndent;

            Data.FlagHideForce = EditorGUILayout.Toggle("Hide Force", Data.FlagHideForce);
            EditorGUILayout.Space();

            int CountLimitParticle = EditorGUILayout.IntField("Count Limit Particle", Data.CountLimitParticleInitial);
            EditorGUILayout.LabelField("(0: Default-Value Set)");
            if (-1 != CountLimitParticle)
            {
                if (0 > CountLimitParticle)
                {
                    CountLimitParticle = -1;
                }
            }
            if (CountLimitParticle != Data.CountLimitParticleInitial)
            {
                Data.CountLimitParticleInitial = CountLimitParticle;
            }

            EditorGUI.indentLevel = LevelIndent;
        }

        if (true == GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }