Beispiel #1
0
    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);
        }
    }
Beispiel #2
0
    void Start()
    {
        Inner = gameObject.FindChild("Inner");
        Inner.renderer.enabled = false;
        FaceSelector           = gameObject.FindChild("Highlight Face");
        FaceSelector.GetComponentInChildren <Renderer>().enabled = false;

        SetAlpha();
    }
Beispiel #3
0
    //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;
        }
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
 public MoveL_(FaceSelector faceSelector) : base(faceSelector)
 {
 }
Beispiel #6
0
 protected AMove(FaceSelector faceSelector)
 {
     this.faceSelector = faceSelector;
 }