public void initButton(AbstractSortScript s, int number, MasterController master) { masterController = master; sort = s; text.text = sort.getNameSort(); sortNumber = number; if (btn != null) btn.enabled = true; if (image != null) image.enabled = true; }
// Update is called once per frame void Update() { if (isLocalPlayer) { if(Input.GetKeyUp(KeyCode.Space)) { changeRunnerFocused(); } if(Input.GetKeyDown(KeyCode.Alpha1)) { masterUI.keyPressed(KeyCode.Alpha1); } else if (Input.GetKeyDown(KeyCode.Alpha2)) { masterUI.keyPressed(KeyCode.Alpha2); } else if (Input.GetKeyDown(KeyCode.Alpha3)) { masterUI.keyPressed(KeyCode.Alpha3); } else if (Input.GetKeyDown(KeyCode.Alpha4)) { masterUI.keyPressed(KeyCode.Alpha4); } else if (Input.GetKeyDown(KeyCode.Alpha5)) { masterUI.keyPressed(KeyCode.Alpha5); } else if (Input.GetKeyDown(KeyCode.Tab)) { masterUI.keyPressed(KeyCode.Tab); } else if (Input.GetKeyDown(KeyCode.Escape)) { masterUI.keyPressed(KeyCode.Escape); } if (Input.GetAxis("Mouse ScrollWheel") < 0 && effectiveZoom > minZoom) // back { translationCamera.z = -zoomSpeed; effectiveZoom -= zoomSpeed; alignementGauche = getAlignGauche(); } else if (Input.GetAxis("Mouse ScrollWheel") > 0 && effectiveZoom < maxZoom) // forward { translationCamera.z = zoomSpeed; effectiveZoom += zoomSpeed; alignementGauche = getAlignGauche(); } else { translationCamera.z = 0; } translationCamera.x = (runnerView.transform.position.z - masterCamera.transform.position.z) + alignementGauche; masterCamera.transform.Translate(translationCamera * zoomSpeed, Space.Self); if (objectSelected != null) { //print("Object selected"); Vector3 p1 = masterCamera.transform.position; Vector3 p2 = masterCamera.ScreenToWorldPoint(Vector3.right*Input.mousePosition.x+ Vector3.up*Input.mousePosition.y+ Vector3.forward*masterCamera.farClipPlane); RaycastHit rayInfo; if (Physics.Linecast(p1, p2, out rayInfo)) { if (rayInfo.collider.gameObject == floor.gameObject) { p1.x = Mathf.Round(rayInfo.point.x); p1.y = Mathf.Round(rayInfo.point.y)+.5f; p1.z = Mathf.Round(rayInfo.point.z-.5f) + .5f; objectSelected.UpdatePosition(p1, Vector3.Distance(p1, runnerView.position),runnerController.getLevel().isPositionOccuped(p1,false)); } else objectSelected.Hide(); } else objectSelected.Hide(); if(objectSelected.CanBePosed() && Input.GetMouseButtonUp(0)) { removeMana(objectSelected.getCout()); //print("name =" + rayInfo.collider.gameObject.name); CmdPoseObject(objectSelected.transform.position, runnerId); runnerController.getLevel().setAllObstacleTransparent(false); } if (Input.GetMouseButtonUp(1)) { objectSelected.gameObject.SetActive(false); objectSelected = null; runnerController.getLevel().setAllObstacleTransparent(false); } } else if(sortSelected!=null) { Vector3 p1 = masterCamera.transform.position; Vector3 p2 = masterCamera.ScreenToWorldPoint(Vector3.right * Input.mousePosition.x + Vector3.up * Input.mousePosition.y + Vector3.forward * masterCamera.farClipPlane); RaycastHit rayInfo; if (Physics.Linecast(p1, p2, out rayInfo)) { if (rayInfo.collider.gameObject == floor.gameObject) { p1.x = Mathf.Round(rayInfo.point.x); p1.y = Mathf.Round(rayInfo.point.y) + .5f; p1.z = Mathf.Round(rayInfo.point.z - .5f) + .5f; sortSelected.getSortVisualScript().gameObject.SetActive(true); sortSelected.getSortVisualScript().setOK(false); sortSelected.getSortVisualScript().updatePosition(p1); } else if(rayInfo.collider.gameObject.CompareTag("RunnerView")) { sortSelected.getSortVisualScript().gameObject.SetActive(true); sortSelected.getSortVisualScript().setOK(true); sortSelected.getSortVisualScript().updatePosition(rayInfo.collider.gameObject.transform.position); } else sortSelected.getSortVisualScript().gameObject.SetActive(false); } else { sortSelected.getSortVisualScript().gameObject.SetActive(false); } if (sortSelected.getSortVisualScript().CanBeActivate() && Input.GetMouseButtonUp(0)) { int tmpRunner = runnerListScript.getRunnerIdByView(rayInfo.collider.gameObject); if (tmpRunner != -1 && !sortSelected.affectAlreadyRunner(tmpRunner)) { print("lauch sort"); removeMana((int)sortSelected.getCout()); CmdLauchSort(tmpRunner); } else print("player already affected by this sort"); } else if (Input.GetMouseButtonUp(1)) { sortSelected.getSortVisualScript().gameObject.SetActive(false); sortSelected = null; } } } }
public void RpcSetSortSelected(int i) { if (objectSelected != null) { objectSelected.gameObject.SetActive(false); objectSelected = null; } if (sortSelected != null) { sortSelected.getSortVisualScript().gameObject.SetActive(false); } sortSelected = panelSortScript.getSort(i); }
public void RpcLauchSort(int tmpRunner) { sortSelected.lauchSort(tmpRunner); sortSelected.getSortVisualScript().gameObject.SetActive(false); sortSelected = null; }
public void CmdSetSortSelected(int i) { RpcSetSortSelected(i); if (!NetworkClient.active) { if (objectSelected != null) { objectSelected.gameObject.SetActive(false); objectSelected = null; } if (sortSelected != null) { sortSelected.getSortVisualScript().gameObject.SetActive(false); } sortSelected = panelSortScript.getSort(i); } }
public void CmdLauchSort(int tmpRunner) { RpcLauchSort(tmpRunner); if (!NetworkClient.active) { sortSelected.lauchSort(tmpRunner); sortSelected.getSortVisualScript().gameObject.SetActive(false); sortSelected = null; } }
public void AddChildren(AbstractSortScript go) { go.transform.parent = this.transform; children.Add(go); }
/*Retourne un boolean pour savoir si le runner a déjà ce sort qui lui est appliqué*/ public bool hasAlreadySort(AbstractSortScript sort) { return effectiveSorts.Contains(sort); }