public override bool checkProceduralPrecondition(GameObject agent) { // find the nearest tree that we can mine CenterEntity[] centers = FindObjectsOfType(typeof(CenterEntity)) as CenterEntity[]; CenterEntity closest = null; float closestDist = 0; foreach (CenterEntity center in centers) { if (closest == null) { // first one, so choose it for now closest = center; closestDist = (center.gameObject.transform.position - agent.transform.position).magnitude; } else { // is this one closer than the last? float dist = (center.gameObject.transform.position - agent.transform.position).magnitude; if (dist < closestDist) { // we found a closer one, use it closest = center; closestDist = dist; } } } targetCenter = closest; target = targetCenter.gameObject; return(closest != null); }
public override bool checkProceduralPrecondition(GameObject agent) { Agent abstractAgent = (Agent)agent.GetComponent(typeof(Agent)); targetCenter = abstractAgent.center; target = targetCenter.gameObject; return(targetCenter != null); }
void Start() { buttonComponent.onClick.AddListener(HandleClick); CenterEntity[] centers = (CenterEntity[])FindObjectsOfType(typeof(CenterEntity)); if (centers.Length > 0) { center = centers[0]; } }
private void center_combobx_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox centerComboBx = sender as ComboBox; if (centerComboBx.SelectedItem != null) { CenterEntity selectedCenter = centerComboBx.SelectedItem as CenterEntity; center_combobx_val = selectedCenter.CenterName; CheckValidations(); } }
public override bool checkProceduralPrecondition(GameObject agent) { Agent abstractAgent = (Agent)agent.GetComponent(typeof(Agent)); targetCenter = abstractAgent.center; float diff = 0.5f; float posX = targetCenter.transform.position.x + Random.Range(-diff, diff); float posY = targetCenter.transform.position.y + Random.Range(-diff, diff); targetPosition = new Vector3(posX, posY, agent.transform.position.z); // Debug.DrawLine(targetPosition, agent.transform.position, Color.white, 3, false); return(targetCenter != null); }
void Start() { // Found and save buildings references WarehouseEntity[] warehouses = (WarehouseEntity[])FindObjectsOfType(typeof(WarehouseEntity)); if (warehouses.Length > 0) { warehouse = warehouses[0]; } CenterEntity[] centers = (CenterEntity[])FindObjectsOfType(typeof(CenterEntity)); if (centers.Length > 0) { center = centers[0]; } }
void Awake() { if (!isAdult) { // Turn child transform.localScale = new Vector3(0.3f, 0.3f, 1f); moveSpeed = 0; bornDuration = 6f; } // Find center and warehouse CenterEntity[] centers = (CenterEntity[])FindObjectsOfType(typeof(CenterEntity)); if (centers.Length > 0) { center = centers[0]; } WarehouseEntity[] warehouses = (WarehouseEntity[])FindObjectsOfType(typeof(WarehouseEntity)); if (warehouses.Length > 0) { warehouse = warehouses[0]; } HouseBuilding[] houses = (HouseBuilding[])FindObjectsOfType(typeof(HouseBuilding)); foreach (HouseBuilding hos in houses) { if (hos.full || !hos.blueprint.done) { continue; } if (hos.addAgent()) { house = hos; break; } } // No house, add house request if (house == null) { Building building = new Building("Prefabs/Buildings/House", 100, 100, 3, 1); center.addNewBuildingRequest(building); } }
private void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } metrics = new Dictionary <string, int>(); CenterEntity[] centers = (CenterEntity[])FindObjectsOfType(typeof(CenterEntity)); if (centers.Length > 0) { center = centers[0]; } WarehouseEntity[] warehouses = (WarehouseEntity[])FindObjectsOfType(typeof(WarehouseEntity)); if (warehouses.Length > 0) { warehouse = warehouses[0]; } }
public override void reset() { isChecked = false; targetCenter = null; startTime = 0; }