public void OnGUI() { EditorGUILayout.BeginVertical(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Number"); number = EditorGUILayout.IntField(number); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Activated"); activated = EditorGUILayout.Toggle(activated); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Parent"); parent = (SpawnableObjectContainerScript)EditorGUILayout.ObjectField(parent, typeof(SpawnableObjectContainerScript), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("GameObject"); gameobject = (SpawnableObjectScript)EditorGUILayout.ObjectField(gameobject, typeof(SpawnableObjectScript), false); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Local Player script"); localPlayerScript = (LocalPlayerScript)EditorGUILayout.ObjectField(localPlayerScript, typeof(LocalPlayerScript), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Master Controller"); masterController = (MasterController)EditorGUILayout.ObjectField(masterController, typeof(MasterController), true); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Runner List Script"); runnerList = (RunnerListScript)EditorGUILayout.ObjectField(runnerList, typeof(RunnerListScript), true); EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Generate multiple object")) { parent.initializeChildrenList(); for (int i = 0; i < number; i++) { var go = (SpawnableObjectScript)PrefabUtility.InstantiatePrefab(gameobject); go.setLocalPlayerScript(localPlayerScript); go.setMasterController(masterController); go.setIndice(i); go.setRunnerList(runnerList); go.transform.position = new Vector3(0, 0, i); go.gameObject.SetActive(activated); parent.AddChildren(go); Undo.RegisterCreatedObjectUndo(go, "MultipleGO"); } } EditorGUILayout.EndVertical(); }
public void setSelectedObject(SpawnableObjectScript obj) { selectedObject = obj; }
// 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 RpcUnselectObject() { objectSelected = 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 RpcSetObjectSelected(int i, int j) { numContainer = i; if (objectSelected != null) objectSelected.gameObject.SetActive(false); objectSelected = allContainerScript.getContainer(i).GetChildren()[j]; objectSelected.gameObject.SetActive(true); objectSelected.setLocalPlayerScript(localPlayerScript); objectSelected.Hide(); }
public void RpcPoseObject(Vector3 pos, int runnerInd) { objectSelected.PoseObject(pos, runnerInd); for (int i = 1; i < objectSelected.getNbSpawn(); i++) { SpawnableObjectScript obj = allContainerScript.getContainer(numContainer).getFirstDisableGO(); if (obj != null) { obj.gameObject.SetActive(true); obj.setLocalPlayerScript(localPlayerScript); obj.UpdatePosition(pos, 0, false); obj.PoseObject(pos, runnerInd); } } objectSelected = null; }
public void CmdUnselectObject() { RpcUnselectObject(); if (!NetworkClient.active) { objectSelected = 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 AddChildren(SpawnableObjectScript go) { go.transform.parent = this.transform; children.Add(go); }