moved BoidEditor/BoidControllerEditor scripts away for proper Build procedure (no macro)

This commit is contained in:
Xevion
2020-05-28 22:59:50 -05:00
parent 8e976e3196
commit 37b54ded30
4 changed files with 35 additions and 19 deletions

View File

@@ -2,7 +2,7 @@
using UnityEngine;
[CustomEditor(typeof(BoidController))]
public class BoidControllerEditor : Editor {
public class BoidControllerEditor : UnityEditor.Editor {
public override void OnInspectorGUI() {
var controller = (BoidController) target;
bool redraw = false;
@@ -20,23 +20,26 @@ public class BoidControllerEditor : Editor {
}
// Basic Boid Controller Attributes
controller.boidStartVelocity = EditorGUILayout.Slider("Start Velocity", controller.boidStartVelocity, 0.01f, 25.0f);
EditorGUILayout.MinMaxSlider("Speed Limit", ref controller.minSpeed, ref controller.maxSpeed, 0.01f, 25f);
controller.boidStartVelocity =
EditorGUILayout.Slider("Start Velocity", controller.boidStartVelocity, 0.01f, 25.0f);
EditorGUILayout.MinMaxSlider("Speed Limit", ref controller.minSpeed, ref controller.maxSpeed, 0.01f, 25f);
// controller.minSpeed = EditorGUILayout.Slider("Minimum Speed", controller.minSpeed, 0.01f, 25.0f);
// controller.maxSpeed = EditorGUILayout.Slider("Maximum Speed", controller.maxSpeed, 0.01f, 25.0f);
controller.boundaryForce = EditorGUILayout.Slider("Boundary Force", controller.boundaryForce, 0.25f, 50f);
controller.maxSteerForce = EditorGUILayout.Slider("Max Steer Force", controller.maxSteerForce, 1f, 500f);
EditorGUI.BeginChangeCheck();
controller.boidGroupRange = EditorGUILayout.Slider("Group Range", controller.boidGroupRange, 0.01f, 7.5f);
controller.boidSeparationRange = EditorGUILayout.Slider("Separation Range", controller.boidSeparationRange, 0.01f, 5.0f);
controller.boidSeparationRange =
EditorGUILayout.Slider("Separation Range", controller.boidSeparationRange, 0.01f, 5.0f);
controller.boidFOV = EditorGUILayout.Slider("Boid FOV", controller.boidFOV, 1f, 360f);
redraw = redraw || EditorGUI.EndChangeCheck();
// Boid Bias Attributes
// Boid Bias Attributes
controller.alignmentBias = EditorGUILayout.Slider("Alignment Bias", controller.alignmentBias, 0.001f, 1.5f);
controller.cohesionBias = EditorGUILayout.Slider("Cohesion Bias", controller.cohesionBias, 0.001f, 1.5f);
controller.separationBias = EditorGUILayout.Slider("Separation Bias", controller.separationBias, 0.001f, 2.5f);
controller.separationBias =
EditorGUILayout.Slider("Separation Bias", controller.separationBias, 0.001f, 2.5f);
controller.boundaryBias = EditorGUILayout.Slider("Boundary Bias", controller.boundaryBias, 0.01f, 1.5f);
controller.localFlocks = EditorGUILayout.Toggle("Use Groups?", controller.localFlocks);
@@ -49,7 +52,8 @@ public class BoidControllerEditor : Editor {
// Boid Rendering
EditorGUI.BeginChangeCheck();
controller.circleVertexCount = EditorGUILayout.IntSlider("Circle Vertex Count", controller.circleVertexCount, 4, 360);
controller.circleVertexCount =
EditorGUILayout.IntSlider("Circle Vertex Count", controller.circleVertexCount, 4, 360);
controller.circleWidth = EditorGUILayout.Slider("Circle Line Width", controller.circleWidth, 0.01f, 1f);
redraw = redraw || EditorGUI.EndChangeCheck();

View File

@@ -0,0 +1,17 @@
using UnityEditor;
using UnityEngine;
// [CustomEditor(typeof(Boid))]
// public class BoidEditor : UnityEditor.Editor {
// public override void OnInspectorGUI() {
// base.OnInspectorGUI();
// }
// }
public class BoidGizmoDrawer {
[DrawGizmo(GizmoType.NonSelected | GizmoType.Selected)]
static void DrawGizmo(Boid boid, GizmoType gizmoType) {
// Simply draw the # of Boids within the perceived flock
Handles.Label(boid.transform.position, $"{boid.latestNeighborhoodCount}");
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: f4b27abbe35a49dd946d059c0ebe4cea
timeCreated: 1590672982

View File

@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
// Boids are represented by a moving, rotating triangle.
@@ -11,7 +10,7 @@ public class Boid : MonoBehaviour {
[NonSerialized] private bool _isWrappingX = false;
[NonSerialized] private bool _isWrappingY = false;
[NonSerialized] private Vector2 _centeringVelocity;
[NonSerialized] private int _latestNeighborhoodCount = 0;
[NonSerialized] public int latestNeighborhoodCount = 0;
[NonSerialized] private BoidController _parent;
[NonSerialized] private bool _isFocused = false;
@@ -36,7 +35,7 @@ public class Boid : MonoBehaviour {
else {
Vector2 acceleration = Vector2.zero;
List<Boid> flock = _parent.localFlocks ? GetFlock(_parent.boids, _parent.boidGroupRange) : _parent.boids;
_latestNeighborhoodCount = flock.Count;
latestNeighborhoodCount = flock.Count;
// Calculate all offsets and multiple by magnitudes given
if (flock.Count > 0) {
@@ -67,13 +66,6 @@ public class Boid : MonoBehaviour {
Wrapping();
}
#if UNITY_EDITOR
private void OnDrawGizmos() {
// Show # of Boids in Neighborhood
Handles.Label(transform.position, $"{_latestNeighborhoodCount}");
}
#endif
private Vector2 SteerTowards(Vector2 vector) {
Vector2 v = vector.normalized * _parent.maxSpeed - _velocity;
return Vector2.ClampMagnitude(v, _parent.maxSteerForce);