Beispiel #1
0
    void Awake()
    {
        if (Instance != null)
        {
            Destroy(gameObject);
            return;
        }

        DontDestroyOnLoad(this);
        Instance      = this;
        ParticipantId = "P" + (PlayerPrefs.GetInt("ParticipantId", 0) + 1);
        BlockId       = "B1";
        Condition     = Conditions.Direct;
        StudyNumber   = StudyEnum.Study1;
    }
Beispiel #2
0
    private void OnGUI()
    {
        //滚动布局
        GUILayout.BeginScrollView(Vector2.zero, GUILayout.Width(500), GUILayout.Height(1000));
        //横向布局
        GUILayout.BeginHorizontal();
        GUILayout.Label("标签:横向布局");
        GUILayout.Button("按钮");
        GUILayout.Button("按钮");
        GUILayout.Button("按钮");
        GUILayout.EndHorizontal();

        //竖向布局
        GUILayout.BeginVertical();
        GUILayout.Label("标签:竖向布局");
        GUILayout.Button("按钮");

        GUILayout.Box("区域");

        EditorGUILayout.LabelField("文本信息");

        EditorGUILayout.HelpBox("帮助信息", MessageType.None, true);
        EditorGUILayout.HelpBox("帮助信息", MessageType.Info, true);
        EditorGUILayout.HelpBox("帮助信息", MessageType.Warning, false);
        EditorGUILayout.HelpBox("帮助信息", MessageType.Error, false);

        EditorGUILayout.TextArea("文本输入框");
        GUILayout.TextArea("文本输入框");

        //   EditorGUILayout.Toggle(false, "单选框");

        GUILayout.Toggle(true, "单选框");
        GUILayout.Toggle(false, "单选框");

        EditorGUILayout.Slider(0.5f, 0, 1);

        mStudyEnum = (StudyEnum)EditorGUILayout.EnumPopup(new GUIContent("枚举值:", "详细信息"), mStudyEnum);

        mGameObject = EditorGUILayout.ObjectField(new GUIContent("序列化Object", "提示信息"), mGameObject, typeof(GameObject), true) as GameObject;

        GUILayout.EndVertical();

        GUILayout.EndScrollView();
    }
Beispiel #3
0
    public void SetParams(string participantId, string blockId, Conditions condition, StudyEnum studyNumber, float scaleFactor, bool isTest)
    {
        InitLogs();
        this.isTest = isTest;
        Debug.Log("Is test: " + isTest);
        ParticipantId = participantId;
        BlockId       = blockId;
        Condition     = condition;
        StudyNumber   = studyNumber;
        ScaleFactor   = scaleFactor;

        int participantIdInt = int.Parse(ParticipantId.Substring(1));
        int blockIdInt       = int.Parse(BlockId.Substring(1));

        switch (studyNumber)
        {
        case StudyEnum.Study1:
            Blocks = new List <StudyBlock>();
            int conditionBlockCount = Study1BlockCount / 2;
            var currCondition       = Condition;
            for (int i = 0; i < conditionBlockCount; ++i)
            {
                Blocks.Add(new StudyBlock
                {
                    Id          = "B" + blockIdInt,
                    Condition   = currCondition,
                    ScaleFactor = 1f
                });
                blockIdInt++;
            }
            currCondition = currCondition == Conditions.Direct ? Conditions.Indirect : Conditions.Direct;
            for (int i = 0; i < conditionBlockCount; ++i)
            {
                Blocks.Add(new StudyBlock
                {
                    Id          = "B" + blockIdInt,
                    Condition   = currCondition,
                    ScaleFactor = 1f
                });
                blockIdInt++;
            }
            break;

        case StudyEnum.Study2:
            Blocks = new List <StudyBlock>();
            var study2BlockCount = ScaleFactors.GetLength(1);
            for (int i = 0; i < study2BlockCount; i++)
            {
                Blocks.Add(new StudyBlock
                {
                    Id          = "B" + blockIdInt,
                    Condition   = Conditions.Warped,
                    ScaleFactor = ScaleFactors[participantIdInt % ScaleFactors.GetLength(0), i]
                });
                blockIdInt++;
            }
            break;
        }

        if (!isTest)
        {
            SetBlockValues(1);
        }
    }