void SetAlpha() { if (IsGizmo) { if (FaceSelector.GetComponentInChildren <Renderer>().enabled == false) { var r = gameObject.FindChild("CubeInsideout").renderer; var c = r.material.GetColor("_TintColor"); r.material.SetColor("_TintColor", new Color(c.r, c.g, c.b, (13 / 255f) * (Mathf.Sin(Time.realtimeSinceStartup * 10) * 0.25f + 1))); } else { var r = gameObject.FindChild("CubeInsideout").renderer; var c = r.material.GetColor("_TintColor"); r.material.SetColor("_TintColor", new Color(c.r, c.g, c.b, (13 / 255f))); r = FaceSelector.GetComponentInChildren <Renderer>(); c = r.material.color; r.material.color = new Color(c.r, c.g, c.b, 1 + Mathf.Sin(Time.realtimeSinceStartup * 10) * 0.25f); } } else { var eased = Easing.EaseInOut(Mathf.Clamp01(Pico.Level.SinceAlive), EasingType.Sine); var r = gameObject.FindChild("CubeInsideout").renderer; var c = r.material.GetColor("_TintColor"); r.material.SetColor("_TintColor", new Color(c.r, c.g, c.b, eased * (13 / 255f))); //r = gameObject.FindChild("Pyramid").renderer; //r.material.color = new Color(r.material.color.r, r.material.color.g, r.material.color.b, eased); } }
void Start() { Inner = gameObject.FindChild("Inner"); Inner.renderer.enabled = false; FaceSelector = gameObject.FindChild("Highlight Face"); FaceSelector.GetComponentInChildren <Renderer>().enabled = false; SetAlpha(); }
//selects on command - tutorial only public void selectObject(GameObject newSelection) { // unhighlight previously selected fused part if (selectedObject != null) { //! CODE FOR REMOVING Marker FROM PREVIOUS PART. prevSelectedFuseTo Destroy(selectedObject.GetComponent <SelectedEffect>()); } prevSelectedObject = selectedObject; selectedObject = newSelection; //print("Currently Selected FuseTo: " + selectedFuseTo); FaceSelector currentFaceSelector = selectedObject.GetComponent <FaceSelector>(); currentFaceSelector.adjustPartAlignment(); //! CODE FOR ADDING MARKER TO SELECTED PART. selectedFuseTo if (selectedObject.GetComponent <SelectedEffect>() == null) { SelectedEffect sel = selectedObject.AddComponent <SelectedEffect>(); // this code obtains the correct normal for the ghost effects from the mesh rather than from a raycast from a mouse click, // as is done in the Update() method when the player themselves is doing the selecting RaycastResult hitInfo = new RaycastResult(); Mesh mesh = selectedObject.GetComponent <MeshFilter>().mesh; Vector3[] normals = mesh.normals; // this is dumb, but for some reason the normal for b1p2_bb1_a2 is being calculated as (-1,0,0) rather // than (1,0,0), so I had to hard code it if (!newSelection.name.Equals("b1p2_bb1_a2")) { hitInfo.worldNormal = normals[0]; } else { hitInfo.worldNormal = new Vector3(1, 0, 0); } sel.hitInfo = hitInfo; Debug.Log("Normals of hitInfo for " + selectedObject + ": " + hitInfo.worldNormal); } if (selectedObject != null && selectedFuseTo != null) { connectButton.interactable = true; } }
private void CreateFaceSelector(Face2D face) { if (activeFaceSelector != null) { Destroy(activeFaceSelector.gameObject); } switch (face.sides) { case 3: activeFaceSelector = Instantiate(CommonAssets.Current.selector3).GetComponent <FaceSelector>(); break; case 4: activeFaceSelector = Instantiate(CommonAssets.Current.selector4).GetComponent <FaceSelector>(); break; default: break; } activeFaceSelector.AlignSelectorToFace(face); // activeFaceSelector.transform.Translate(face.Normal.normalized * 0.05f, Space.World); }
public MoveL_(FaceSelector faceSelector) : base(faceSelector) { }
protected AMove(FaceSelector faceSelector) { this.faceSelector = faceSelector; }