Ejemplo n.º 1
0
    public void Init()
    {
        if (!isInit)
        {
            atomPool = new ObjectPool2(Resources.Load <GameObject>("Prefabs/Sphere"), 20, new GameObject("Atom_Root").transform);
            bondPool = new ObjectPool2(Resources.Load <GameObject>("Prefabs/Cylinder"), 20, new GameObject("Bond_Root").transform);

            isInit = true;
        }
    }
Ejemplo n.º 2
0
    // Awake
    void Awake()
    {
        // data path
        if (isPersistentData)
        {
            DataPath = DataPathHelper.Datas_path + DataPath_persistent;
        }

        // find
        CanvasBand = GameObject.Find("Canvas_band").gameObject;

        plot_band3d       = GameObject.Find("plot_band3d").gameObject;
        plot_band3d_trans = plot_band3d.transform;//2020.7.20

        plot_fermi = GameObject.Find("plot_fermi").gameObject;
        Ruler      = GameObject.Find("Ruler").gameObject;
        Ruler.SetActive(false);
        canvas00 = GameObject.Find("Canvas_database").GetComponent <Canvas_database>();


        band3d_panel_01 = GameObject.Find("Canvas_band/panel_band3d/show_3d_bands").gameObject;

        band3d_panel_01_bt.clickEventHandle += create3DBands;

        band3d_panel_02 = GameObject.Find("Canvas_band/panel_band3d/FermiLevel").gameObject;
        band3d_panel_03 = GameObject.Find("Canvas_band/panel_band3d/LockBands").gameObject;

        // surface_prefab
        surface_prefab      = new GameObject();
        surface_prefab.name = "surface_prefab";
        surface_prefab.AddComponent <MeshFilter>();
        surface_prefab.AddComponent <MeshRenderer>().material.shader = Shader.Find("shaders/Standard/Diffuse Bump");;
        surface_prefab.AddComponent <MeshCollider>();
        surface_prefab.AddComponent <Interactable>();
        surface_prefab.AddComponent <plot_surface>();

        //2020.7.21
        surfacePool = new ObjectPool2(surface_prefab, 10, plot_band3d_trans);

        // position and rotation
        plot_band3d_position = plot_band3d_trans.position;
        plot_band3d_rotation = plot_band3d_trans.rotation;
        plot_band3d_scale    = plot_band3d_trans.localScale;
        ruler_position       = Ruler.transform.position;
        ruler_rotation       = Ruler.transform.rotation;
        ruler_scale          = Ruler.transform.localScale;

        // sound
        AudioSource source = band3d_panel_01.requireComponent <AudioSource>();
        AudioClip   clip   = Resources.Load <AudioClip>("AudioClip/sound_ui_hover");

        source.clip = clip;
    }
Ejemplo n.º 3
0
    // Start
    void Start()
    {
        // data path
        if (isPersistentData)
        {
            DataPath = DataPathHelper.Datas_path + DataPath_persistent;
        }

        // Find
        m_image      = transform.Find("dashboard").GetComponent <RawImage>();
        canvas00     = GameObject.Find("Canvas_database").GetComponent <Canvas_database>();
        dot_template = transform.Find("dot_template").gameObject;
        ButtonPanel  = transform.Find("ButtonPanel").gameObject;

        // Image
        RectTransform rt = m_image.GetComponent <RectTransform>();

        rt.transform.localPosition = center;
        rt.transform.localScale    = length;

        // line
        line               = transform.Find("dashboard").GetComponent <LineRenderer>();
        line.startWidth    = 0.01f;
        line.endWidth      = 0.01f;
        line.material      = Resources.Load <Material>("Materials/color_blue");
        line.positionCount = 0;

        // sound
        source = gameObject.requireComponent <AudioSource>();
        AudioClip clip = Resources.Load <AudioClip>("AudioClip/sound_ui_hover");

        source.clip = clip;

        // Canvas_phonon position and rotation
        Canvas_phonon_position = transform.position;
        Canvas_phonon_rotation = transform.rotation;

        // cursor
        cursor = GameObject.Find("XRplayer/OVRCameraRig/TrackingSpace/RightHandAnchor/Pointer/dot").gameObject;
        // dashboard
        dashboard_x_axis = Canvas_phonon_rotation * Vector3.right;
        dashboard_y_axis = Canvas_phonon_rotation * Vector3.up;
        dashboard_z_axis = Canvas_phonon_rotation * Vector3.forward;
        dashboard_center = Canvas_phonon_position + new Vector3(center.x, center.y, 0);
        dashboard_Lx     = length.x * (1 - 2 * alfa);
        dashboard_Ly     = length.y * (1 - 2 * alfa);
        dashboard_Lz     = 0.1f;


        dot_template_pool = new ObjectPool2(dot_template, 30, ButtonPanel.transform);

        EventCenter.Ins.Add("Canvas_phonon", "PlayAudio", playAudio);
    }
Ejemplo n.º 4
0
    public static ObjectPool2 Instance;//grab objectpooler from cube spawner

    private void Awake()
    {
        Instance = this;
    }