Esempio n. 1
0
        void ChangeGestureConfiguration(CharacterBrain.GestureConfigurations conf)
        {
            switch (conf)
            {
            case CharacterBrain.GestureConfigurations.idle:
                ChangeGestureArms(CharacterBrain.ArmGestures.idle);
                ChangeGestureBody(CharacterBrain.BodyGestures.idle);
                ChangeGestureNeck(CharacterBrain.NeckGestures.idle);
                ChangeGestureHead(CharacterBrain.HeadGestures.idle);
                ChangeGestureEyes(CharacterBrain.EyeGestures.talk);
                break;

            case CharacterBrain.GestureConfigurations.explaining:
                ChangeGestureArms(CharacterBrain.ArmGestures.explain5);     // or 6 or 7
                ChangeGestureBody(CharacterBrain.BodyGestures.backLeanSlight);
                ChangeGestureNeck(CharacterBrain.NeckGestures.idle);
                ChangeGestureHead(CharacterBrain.HeadGestures.talk1);
                ChangeGestureEyes(CharacterBrain.EyeGestures.talk);
                break;

            case CharacterBrain.GestureConfigurations.explainingExactly:
                ChangeGestureArms(CharacterBrain.ArmGestures.explain4);
                ChangeGestureBody(CharacterBrain.BodyGestures.frontLeanSlight);
                ChangeGestureNeck(CharacterBrain.NeckGestures.idle);
                ChangeGestureHead(CharacterBrain.HeadGestures.talk1);
                ChangeGestureEyes(CharacterBrain.EyeGestures.talk);
                break;

            case CharacterBrain.GestureConfigurations.extremelyExcited:
                ChangeGestureArms(CharacterBrain.ArmGestures.armsUp);
                ChangeGestureBody(CharacterBrain.BodyGestures.backLean);
                ChangeGestureNeck(CharacterBrain.NeckGestures.idle);
                ChangeGestureHead(CharacterBrain.HeadGestures.talk1);
                ChangeGestureEyes(CharacterBrain.EyeGestures.talk);
                break;

            case CharacterBrain.GestureConfigurations.proud:
                ChangeGestureArms(CharacterBrain.ArmGestures.proud);
                ChangeGestureBody(CharacterBrain.BodyGestures.backLeanSlight);
                ChangeGestureNeck(CharacterBrain.NeckGestures.idle);
                ChangeGestureHead(CharacterBrain.HeadGestures.talk1);
                ChangeGestureEyes(CharacterBrain.EyeGestures.talk);
                break;

            case CharacterBrain.GestureConfigurations.embarrassed:
                ChangeGestureArms(CharacterBrain.ArmGestures.crossedArms);
                ChangeGestureBody(CharacterBrain.BodyGestures.frontLeanSlight);
                ChangeGestureNeck(CharacterBrain.NeckGestures.idle);
                ChangeGestureHead(CharacterBrain.HeadGestures.embarrassed);
                ChangeGestureEyes(CharacterBrain.EyeGestures.down);
                break;
            }
        }
Esempio n. 2
0
        public void ChangeTalkMode(string mode)
        {
            if (!staticCharacter && state == State.TalkDiagonal && !string.IsNullOrEmpty(mode))
            {
                string[] parts = mode.Split('/');

                if (parts.Length == 1)
                {
                    try
                    {
                        CharacterBrain.GestureConfigurations conf = (CharacterBrain.GestureConfigurations)Enum.Parse(typeof(CharacterBrain.GestureConfigurations), parts[0]);
                        ChangeGestureConfiguration(conf);
                    }
                    catch
                    {
                        Debug.LogWarning("Couldn't parse gesture configuration " + mode + " " + parts[0]);
                    }
                }
                else if (parts.Length >= 2)
                {
                    switch (parts[0])
                    {
                    case "arms":
                        try
                        {
                            CharacterBrain.ArmGestures gest = (CharacterBrain.ArmGestures)Enum.Parse(typeof(CharacterBrain.ArmGestures), parts[1]);
                            ChangeGestureArms(gest);
                        }
                        catch
                        {
                            Debug.LogWarning("Couldn't parse gesture arms " + mode + " " + parts[1]);
                        }
                        break;

                    case "eyes":
                        try
                        {
                            CharacterBrain.EyeGestures gest = (CharacterBrain.EyeGestures)Enum.Parse(typeof(CharacterBrain.EyeGestures), parts[1]);
                            ChangeGestureEyes(gest);
                        }
                        catch
                        {
                            Debug.LogWarning("Couldn't parse gesture eyes " + mode + " " + parts[1]);
                        }
                        break;

                    case "head":
                        try
                        {
                            CharacterBrain.HeadGestures gest = (CharacterBrain.HeadGestures)Enum.Parse(typeof(CharacterBrain.HeadGestures), parts[1]);
                            ChangeGestureHead(gest);
                        }
                        catch
                        {
                            Debug.LogWarning("Couldn't parse gesture head " + mode + " " + parts[1]);
                        }
                        break;

                    case "neck":
                        try
                        {
                            CharacterBrain.NeckGestures gest = (CharacterBrain.NeckGestures)Enum.Parse(typeof(CharacterBrain.NeckGestures), parts[1]);
                            ChangeGestureNeck(gest);
                        }
                        catch
                        {
                            Debug.LogWarning("Couldn't parse gesture neck " + mode + " " + parts[1]);
                        }
                        break;

                    case "body":
                        try
                        {
                            CharacterBrain.BodyGestures gest = (CharacterBrain.BodyGestures)Enum.Parse(typeof(CharacterBrain.BodyGestures), parts[1]);
                            ChangeGestureBody(gest);
                        }
                        catch
                        {
                            Debug.LogWarning("Couldn't parse gesture body " + mode + " " + parts[1]);
                        }
                        break;

                    default:
                        Debug.LogWarning("Unknown gesture type, " + mode);
                        break;
                    }
                }
            }
        }