/* ******************************************************** */ //! 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 }
/* ******************************************************** */ //! 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]); }
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); } }