// when they press the New Route button, we start into the adding route nodes. public void BT_NewRoute() { // we also spawn a new route at the feet of whichever player is currently active. int actInd = cSelector.FGetActivePlayerIndex(); if (actInd == -1) { Debug.Log("Problem, no player active"); return; } PE_Route[] oldRoutes = FindObjectsOfType <PE_Route>(); for (int i = 0; i < oldRoutes.Length; i++) { if (oldRoutes[i].mTag == cSelector.rGuys[actInd].GetComponent <PE_Role>().mTag) { oldRoutes[i].FDestroySelf(); break; } } mState = ROUTE_TOOL_STATE.SOPENED; mCurRoute = Instantiate(PF_RouteObj, cSelector.rGuys[actInd].transform.position, transform.rotation); mCurRoute.mNodes = new List <GameObject>(); SpawnPoint(cSelector.rGuys[actInd].transform.position); }
public void FDisplayJobs() { // Destroy existing jobs. PE_Route[] oldRoutes = FindObjectsOfType <PE_Route>(); for (int i = 0; i < oldRoutes.Length; i++) { oldRoutes[i].FDestroySelf(); } PE_BlockImg[] blockImages = FindObjectsOfType <PE_BlockImg>(); for (int i = 0; i < blockImages.Length; i++) { Destroy(blockImages[i].gameObject); } // For all the receivers in the scene, spawn a route object. // actually, spawn THEIR route, on them. PE_Role[] roles = FindObjectsOfType <PE_Role>(); foreach (PE_Role role in roles) { if (role.mRole == "Route") { DATA_Route route = IO_RouteList.FLOAD_ROUTE_BY_NAME(role.mDetails); if (route == null) { Debug.Log("Woah, incorrect route: " + role.mDetails); return; } else { PE_Route rt = Instantiate(PF_Route); rt.mTag = role.mTag; foreach (Vector2 spot in route.mSpots) { Vector2 vSpot = spot; vSpot /= 10f; // manual conversion, hacky I know. vSpot += (Vector2)role.transform.position; // on the player who they belong to. var node = Instantiate(PF_RouteSpot, vSpot, role.transform.rotation); rt.mNodes.Add(node); rt.mLineRenderer.positionCount = rt.mNodes.Count; Vector3 lineSpot = node.transform.position; lineSpot.z = 0f; rt.mLineRenderer.SetPosition(rt.mNodes.Count - 1, lineSpot); } } } else if (role.mRole == "Pass Block" || role.mRole == "Run Block") { Vector2 vBlockSpot = role.transform.position; vBlockSpot.y -= 0.1f; // manual fudge factor. Instantiate(PF_BlockImage, vBlockSpot, transform.rotation); } } }