Example #1
0
        public void PressAorX(ModeratorStep step)
        {
            switch (step)
            {
            case ModeratorStep.WaitForIamReady:
            {
                this.hasPressedButtonToStartRecordingAvatarMotion = true;
                break;
            }

            case ModeratorStep.WaitForObjectGrasped:
            case ModeratorStep.WaitForTaskFinished:
            case ModeratorStep.Judgement:
            case ModeratorStep.WaitForNextTask:
            {
                this.hasPressedButtonToStopRecordingAvatarMotion = true;
                break;
            }

            default:
            {
                SIGVerseLogger.Warn("This pressing A or X by the avatar is an invalid timing. step=" + step);
                break;
            }
            }
        }
        // Use this for initialization
        void Start()
        {
            this.step = ModeratorStep.Initialize;

            this.isAllTaskFinished = false;
            this.interruptedReason = string.Empty;

            List <GameObject> graspables = this.tool.GetGraspables();

            for (int i = 0; i < graspables.Count; i++)
            {
                Rigidbody rigidbody = graspables[i].GetComponent <Rigidbody>();

                rigidbody.constraints
                    = RigidbodyConstraints.FreezeRotation |
                      RigidbodyConstraints.FreezePositionX |
                      RigidbodyConstraints.FreezePositionZ;

                rigidbody.maxDepenetrationVelocity = 0.5f;

                StartCoroutine(this.tool.LoosenRigidbodyConstraints(rigidbody));
            }

            this.bgmAudioSource.volume = Mathf.Clamp01(HandymanConfig.Instance.configFileInfo.bgmVolume);
        }
Example #3
0
        // Use this for initialization
        void Start()
        {
            this.step            = ModeratorStep.Initialize;
            this.avatarStateStep = AvatarStateStep.Initialize;

            this.isAllTaskFinished = false;
            this.interruptedReason = string.Empty;

            if (this.executionMode == ExecutionMode.Competition)
            {
                this.mainPanelController.SetTaskMessageText(this.tool.GetTaskDetail());
            }

            List <GameObject> graspables = this.tool.GetGraspables();

            for (int i = 0; i < graspables.Count; i++)
            {
                Rigidbody rigidbody = graspables[i].GetComponent <Rigidbody>();

                rigidbody.constraints
                    = RigidbodyConstraints.FreezeRotation |
                      RigidbodyConstraints.FreezePositionX |
                      RigidbodyConstraints.FreezePositionZ;

                rigidbody.maxDepenetrationVelocity = 0.5f;

                StartCoroutine(this.tool.LoosenRigidbodyConstraints(rigidbody));
            }

            this.bgmAudioSource.volume = Mathf.Clamp01(CleanupConfig.Instance.configFileInfo.bgmVolume);
        }
Example #4
0
        private void PostProcess()
        {
            SIGVerseLogger.Info("Task end");

            if (HandymanConfig.Instance.numberOfTrials == HandymanConfig.Instance.configFileInfo.maxNumberOfTrials)
            {
                this.SendRosMessage(MsgMissionComplete, string.Empty);

                SIGVerseLogger.Info("All tasks finished.");

                StartCoroutine(this.tool.CloseRosConnections());

                this.isAllTaskFinished = true;
            }
            else
            {
                StartCoroutine(this.tool.ClearRosConnections());

                this.step = ModeratorStep.WaitForNextTask;
            }
        }
Example #5
0
        private void PostProcess()
        {
            SIGVerseLogger.Info("Task end");

            if (CleanupConfig.Instance.numberOfTrials == CleanupConfig.Instance.configFileInfo.maxNumberOfTrials)
            {
                this.SendRosMessage(MsgMissionComplete, string.Empty);

                StartCoroutine(this.tool.CloseRosConnections());

                StartCoroutine(this.DisplayEndMessage());

                this.isAllTaskFinished = true;
            }
            else
            {
                this.tool.AddSpeechQueModerator("Let's go to the next session");

                StartCoroutine(this.tool.ClearRosConnections());

                this.step = ModeratorStep.WaitForNextTask;
            }
        }