public override void OnInspectorGUI() { BlinkBehavior thisTarget = (BlinkBehavior)target; thisTarget.currentType = (BlinkBehavior.typeList)EditorGUILayout.EnumPopup("Type", thisTarget.currentType); EditorGUILayout.LabelField("General Properties", EditorStyles.boldLabel); thisTarget.startBright = EditorGUILayout.Toggle("Start Bright", thisTarget.startBright); thisTarget.frequency = EditorGUILayout.FloatField("Seconds Between", thisTarget.frequency); EditorGUILayout.Space(); switch (thisTarget.currentType) { case BlinkBehavior.typeList.OnOff: EditorGUILayout.LabelField("On/Off Properties", EditorStyles.boldLabel); thisTarget.minimumValue = EditorGUILayout.Slider("Minimum Value", thisTarget.minimumValue, 0.0f, 1.0f); break; case BlinkBehavior.typeList.ColorChange: EditorGUILayout.LabelField("Color Change Properties", EditorStyles.boldLabel); thisTarget.secondColor = EditorGUILayout.ColorField("Second Color", thisTarget.secondColor); break; default: Debug.LogError("ERROR: Unrecognized type in currenType in BlinkBehaviorEditor on target: " + thisTarget.gameObject); break; } }
public override void StartUsing() { base.StartUsing(); ParentThing.IsStealthy = true; blinking = new BlinkBehavior(1.4582f, 0.05f); // add a blinking which signals stealth ParentThing.AddNextUpdate(blinking); Level.Current.Subtitles.Show(2, "Wonders! My body faded away...", 3f); }