public override void DrawnNodeProperties(GUISkin skin) { base.DrawnNodeProperties(skin); FieldInspectorHelper.StartSection(); collisionMask = FieldInspectorHelper.ShowMaskField("Collide Layer", collisionMask, skin); FieldInspectorHelper.ShowFlexibleFloatField("Col. Time Gap", fl_collisionGap, skin); killOnCollision = FieldInspectorHelper.ShowBoolField("Destroy On Hit", killOnCollision, skin); FieldInspectorHelper.EndSection(); FieldInspectorHelper.ShowTitle("Spawn GameObject On Collision", skin, true); FieldInspectorHelper.StartSection(); int spawnGameObjectListCount = FieldInspectorHelper.ShowIntField("Spawn Count", spawnGameObjectList.Count, skin); if (spawnGameObjectList.Count != spawnGameObjectListCount) { spawnGameObjectList.Resize <SpawnGameObjectTrigger>(spawnGameObjectListCount); } for (int i = 0; i < spawnGameObjectList.Count; i++) { var spawnTrigger = spawnGameObjectList[i]; if (spawnTrigger == null) { spawnTrigger = new SpawnGameObjectTrigger(); spawnGameObjectList[i] = spawnTrigger; } spawnTrigger.bShow = FieldInspectorHelper.ShowExpandField(string.Format("Index {0}", i + 1), spawnTrigger.bShow, skin); if (spawnTrigger.bShow) { FieldInspectorHelper.StartSubSection(); spawnTrigger.template = FieldInspectorHelper.ShowObjectField <GameObject>("Template", spawnTrigger.template, skin); spawnTrigger.count = FieldInspectorHelper.ShowIntField("Quanity", spawnTrigger.count, skin); spawnTrigger.useLocation = FieldInspectorHelper.ShowBoolField("Copy Location", spawnTrigger.useLocation, skin); spawnTrigger.useRotation = FieldInspectorHelper.ShowBoolField("Copy Rotation", spawnTrigger.useRotation, skin); spawnTrigger.parentTo = (ParentTo)FieldInspectorHelper.ShowEnumField("Parent To", spawnTrigger.parentTo, skin); FieldInspectorHelper.EndSubSection(); } } FieldInspectorHelper.EndSection(); }
public override void DrawnNodeProperties(GUISkin skin) { base.DrawnNodeProperties(skin); FieldInspectorHelper.StartSection(); int spawnGameObjectListCount = FieldInspectorHelper.ShowIntField("Spawn Count", spawnGameObjectList.Count, skin); if (spawnGameObjectList.Count != spawnGameObjectListCount) { spawnGameObjectList.Resize <SpawnGameObjectTrigger>(spawnGameObjectListCount); } for (int i = 0; i < spawnGameObjectList.Count; i++) { var spawnTrigger = spawnGameObjectList[i]; if (spawnTrigger == null) { spawnTrigger = new SpawnGameObjectTrigger(); spawnGameObjectList[i] = spawnTrigger; } spawnTrigger.bShow = FieldInspectorHelper.ShowExpandField(string.Format("Index {0}", i + 1), spawnTrigger.bShow, skin); if (spawnTrigger.bShow) { FieldInspectorHelper.StartSubSection(); spawnTrigger.template = FieldInspectorHelper.ShowObjectField <GameObject>("Template", spawnTrigger.template, skin); spawnTrigger.count = FieldInspectorHelper.ShowIntField("Quanity", spawnTrigger.count, skin); spawnTrigger.useLocation = FieldInspectorHelper.ShowBoolField("Copy Location", spawnTrigger.useLocation, skin); spawnTrigger.useRotation = FieldInspectorHelper.ShowBoolField("Copy Rotation", spawnTrigger.useRotation, skin); spawnTrigger.parentTo = (ParentTo)FieldInspectorHelper.ShowEnumField("Parent To", spawnTrigger.parentTo, skin); FieldInspectorHelper.EndSubSection(); } } FieldInspectorHelper.EndSection(); }
public static void ShowFlexibleVector3Field(string fieldName, FlexibleVector3 value, GUISkin skin, bool bRotation = false) { GUILayout.BeginHorizontal(); switch (value.type) { case FlexibleEditType.Uniform: value.SetValue(ShowVector3Field(fieldName, value.uniformValue, skin, bRotation)); break; case FlexibleEditType.RangeTween: GUILayout.BeginVertical(); ShowLabel(fieldName, skin); FieldInspectorHelper.StartSubSection(); ShowFloatRangeField(bRotation ? "Pitch(X)" : "X", value.rangeX, skin); ShowFloatRangeField(bRotation ? "Yaw (Y)" : "Y", value.rangeY, skin); ShowFloatRangeField(bRotation ? "Roll (Z)" : "Z", value.rangeZ, skin); FieldInspectorHelper.EndSubSection(); GUILayout.EndVertical(); break; case FlexibleEditType.RangeRandom: GUILayout.BeginVertical(); ShowLabel(fieldName, skin); FieldInspectorHelper.StartSubSection(); ShowFloatRangeField(bRotation ? "Pitch(X)" : "X", value.rangeX, skin, " rand "); ShowFloatRangeField(bRotation ? "Yaw (Y)" : "Y", value.rangeY, skin, " rand "); ShowFloatRangeField(bRotation ? "Roll (Z)" : "Z", value.rangeZ, skin, " rand "); FieldInspectorHelper.EndSubSection(); GUILayout.EndVertical(); break; case FlexibleEditType.Curve: GUILayout.BeginVertical(); ShowLabel(fieldName, skin); FieldInspectorHelper.StartSubSection(); value.curveX = ShowCurveField(bRotation ? "Pitch(X)" : "X", value.curveX, skin, true); value.curveY = ShowCurveField(bRotation ? "Yaw (Y)" : "Y", value.curveY, skin, true); value.curveZ = ShowCurveField(bRotation ? "Roll (Z)" : "Z", value.curveZ, skin, true); FieldInspectorHelper.EndSubSection(); GUILayout.EndVertical(); break; default: break; } if (EditorGUILayout.DropdownButton(new GUIContent(), FocusType.Passive, skin.GetStyle("minipulldown"))) { GenericMenu menu = new GenericMenu(); if (value.type != FlexibleEditType.Uniform) { menu.AddItem(new GUIContent("Vector3 Constant"), false, () => { value.type = FlexibleEditType.Uniform; }); } else { menu.AddDisabledItem(new GUIContent("Vector3 Constant")); } if (value.type != FlexibleEditType.RangeTween) { menu.AddItem(new GUIContent("Vector3 Linear Tween"), false, () => { value.type = FlexibleEditType.RangeTween; }); } else { menu.AddDisabledItem(new GUIContent("Vector3 Linear Tween")); } if (value.type != FlexibleEditType.RangeRandom) { menu.AddItem(new GUIContent("Vector3 Random"), false, () => { value.type = FlexibleEditType.RangeRandom; }); } else { menu.AddDisabledItem(new GUIContent("Vector3 Random")); } if (value.type != FlexibleEditType.Curve) { menu.AddItem(new GUIContent("Vector3 Curve"), false, () => { value.type = FlexibleEditType.Curve; }); } else { menu.AddDisabledItem(new GUIContent("Vector3 Curve")); } menu.ShowAsContext(); } GUILayout.EndHorizontal(); }