//Busca el agua más cercano partiendo del tipo de agua con mínimo de porcentaje (Por ejemplo, buscar agua que contenga más de 75% de agua dulce). public PathSetting(TIPOAGUA agua, float minimoNecesario) { type = PATHTYPE.Agua; this.agua = agua; minimoNec = minimoNecesario; }
public void SetPathType(PATHTYPE pt) { switch (pt) { case PATHTYPE.POLY_LINE: displayMethod = PATHTYPE.POLY_LINE; path = lp; break; case PATHTYPE.CATMULLROM_SPLINE: displayMethod = PATHTYPE.CATMULLROM_SPLINE; path = crsp; break; default: path = lp; displayMethod = PATHTYPE.POLY_LINE; break; } }
public override void OnInspectorGUI() { if (PathManager == null) { return; } EditorGUILayout.BeginVertical(); pathType = (PATHTYPE)EditorGUILayout.EnumPopup("Display:", PathManager.displayMethod); if (pathType != prevPathType) { switch (pathType) { case PATHTYPE.POLY_LINE: path = lp; break; case PATHTYPE.CATMULLROM_SPLINE: path = crsp; break; default: path = lp; break; } PathManager.SetPathType(pathType); prevPathType = pathType; } path.SetPathManager(PathManager); EditorGUILayout.PrefixLabel("Minimum Height"); minht = EditorGUILayout.TextField(minht, GUILayout.ExpandWidth(false)); if (minht.CompareTo(oldminht) != 0) { float fval; if (float.TryParse(minht, out fval)) { PathManager.minHeight = fval; } oldminht = minht; } EditorGUILayout.PrefixLabel("Tool Color"); PathManager.lineColor = EditorGUILayout.ColorField(PathManager.lineColor, GUILayout.ExpandWidth(false)); if (GUILayout.Button("Duplicate Endpoints")) { PathManager.DuplicateEndPoints(); } if (GUILayout.Button("Add New Point")) { PathManager.AddNewPoint(); } int i = 0; foreach (Vector3 v in PathManager.points) { EditorGUILayout.Vector3Field(i.ToString(), v); i++; } if (GUILayout.Button("Remove All Points")) { PathManager.RemoveAllPoints(); } GUILayout.BeginHorizontal("box"); pointtoremove = GUILayout.TextField(pointtoremove, 25); if (GUILayout.Button("Remove Point " + pointtoremove)) { int val = -1; if (int.TryParse(pointtoremove, out val)) { if (val >= 0 && val < PathManager.points.Count) { PathManager.RemovePoint(val); } } } GUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); if (GUI.changed) { EditorUtility.SetDirty(PathManager); } }
PathManagerEditor() { pathType = PATHTYPE.CATMULLROM_SPLINE; prevPathType = PATHTYPE.CATMULLROM_SPLINE; path = crsp; }
//Busca el mejor camino a un baul con el contenido public PathSetting(ResourceInfo[] recursos) { type = PATHTYPE.AlmacenObjeto; this.recursos = recursos; }
//Hace uso de un tipoPath genérico que no necesite más información, por ejemplo, el de buscar un baúl que esté vacío. public PathSetting(PATHTYPE type) { this.type = type; }
//CONSTRUCTORES //Busca el mejor camino a una posición en concreto. public PathSetting(IntVector2 posicion) { type = PATHTYPE.Posicion; this.position = posicion; }