コード例 #1
0
ファイル: PolyPreset.cs プロジェクト: livazz/Polyhydra
    public void ApplyToPoly(ref PolyHydra poly, AppearancePresets aPresets)
    {
        poly.PolyType        = PolyType;
        poly.BypassOps       = BypassOps;
        poly.TwoSided        = TwoSided;
        poly.ConwayOperators = new List <PolyHydra.ConwayOperator>();
        poly.GridType        = GridType;
        poly.PrismP          = PrismP;
        poly.PrismQ          = PrismQ;
        poly.PresetName      = Name;
        aPresets.ApplyPresetToPoly(AppearancePresetName);

        for (var index = 0; index < Ops.Length; index++)
        {
            var presetOp = Ops[index];
            var op       = new PolyHydra.ConwayOperator
            {
                opType         = presetOp.OpType,
                faceSelections = presetOp.FaceSelections,
                amount         = presetOp.Amount,
                randomize      = presetOp.Randomize,
                disabled       = presetOp.Disabled
            };
            poly.ConwayOperators.Add(op);
        }
    }
コード例 #2
0
ファイル: PolyPreset.cs プロジェクト: livazz/Polyhydra
    public void CreateFromPoly(string presetName, PolyHydra poly)
    {
        Name = presetName;
        AppearancePresetName = poly.APresetName;
        PolyType             = poly.PolyType;
        GridType             = poly.GridType;
        BypassOps            = poly.BypassOps;
        PrismP   = poly.PrismP;
        PrismQ   = poly.PrismP;
        TwoSided = poly.TwoSided;
        Ops      = new Op[poly.ConwayOperators.Count];

        for (var index = 0; index < poly.ConwayOperators.Count; index++)
        {
            var polyOp = poly.ConwayOperators[index];
            var op     = new Op
            {
                OpType         = polyOp.opType,
                FaceSelections = polyOp.faceSelections,
                Amount         = polyOp.amount,
                Randomize      = polyOp.randomize,
                Disabled       = polyOp.disabled
            };
            Ops[index] = op;
        }
    }
コード例 #3
0
    public override void OnInspectorGUI()
    {
        GUI.enabled = EditorApplication.isPlaying;
        PolyHydra ui = (PolyHydra)target;

        if (GUILayout.Button("Sync UI to Inspector"))
        {
            ui.polyUI.InitUI();
        }

        GUI.enabled = true;
        DrawDefaultInspector();
    }
コード例 #4
0
ファイル: AppearancePreset.cs プロジェクト: livazz/Polyhydra
    public void ApplyToPoly(ref PolyHydra poly, GameObject LightsParent, Camera CurrentCamera)
    {
        poly.gameObject.GetComponent <MeshRenderer>().material = PolyhedronMaterial;
        poly.ColorMethod = PolyhedronColorMethod;
        poly.APresetName = Name;
        CurrentCamera.backgroundColor = CameraBackgroundColor;
        if (SkyboxMaterial != null)
        {
            RenderSettings.ambientMode = AmbientMode.Skybox;
            RenderSettings.skybox      = SkyboxMaterial;
        }
        else
        {
            RenderSettings.ambientMode = AmbientMode.Flat;
            RenderSettings.skybox      = null;
        }

        RenderSettings.ambientSkyColor = SkyboxColor;
        if (ReflectionCubemap != null)
        {
            RenderSettings.defaultReflectionMode = DefaultReflectionMode.Custom;
            RenderSettings.customReflection      = ReflectionCubemap;
        }
        else
        {
            RenderSettings.defaultReflectionMode = DefaultReflectionMode.Skybox;
            RenderSettings.customReflection      = null;
        }
        RenderSettings.skybox = SkyboxMaterial;
        var lights = LightsParent.GetComponentsInChildren <Light>(includeInactive: true);

        foreach (var light in lights)
        {
            if (ActiveLights.Contains(light))
            {
                light.gameObject.SetActive(true);
            }
            else
            {
                light.gameObject.SetActive(false);
            }
        }
    }