コード例 #1
0
        }   // end of Face Update()

        public static Face MakeFace(GetModelInstance getModel, XmlGameActor xmlActor)
        {
            Face face = null;

            if (xmlActor != null)
            {
                FaceParams faceParams = xmlActor.FaceParams;
                if (faceParams != null)
                {
                    switch (faceParams.TypeFace)
                    {
                    case FaceParams.FaceType.Boku:
                        face = MakeBokuFace(getModel, faceParams);
                        break;

                    case FaceParams.FaceType.Wide:
                        face = MakeWideFace(getModel, faceParams);
                        break;

                    case FaceParams.FaceType.Two:
                        face = MakeTwoFace(getModel, faceParams);
                        break;

                    default:
                        Debug.Assert(false, "Unknown face type");
                        break;
                    }

                    face.PupilCenter     = faceParams.PupilCenter;
                    face.PupilSize       = faceParams.PupilSize;
                    face.LidDistance     = faceParams.LidDistance;
                    face.EyeSpeed        = faceParams.EyeSpeed;
                    face.BlinkRange      = faceParams.BlinkRange;
                    face.MaxAsymmetry    = faceParams.MaxAsymmetry;
                    face.backgroundColor = new Vector4(
                        faceParams.BackgroundColor,
                        1.0f);
                    face.pupilsName      = faceParams.PupilsName;
                    face.pupilsCrossName = faceParams.PupilsCrossName;
                }
            }
            return(face);
        }
コード例 #2
0
        /// <summary>
        /// Returns a new FBXModel.
        /// </summary>
        /// <remarks>
        /// The list of special FBXModel derivatives is kept here.
        /// </remarks>
        private static FBXModel InitializeModelFromXml(XmlGameActor xmlGameActor, string modelFileName)
        {
            FBXModel result = null;

            if (xmlGameActor != null && xmlGameActor.ModelData != null)
            {
                if (xmlGameActor.ModelData.SpecialType != null)
                {
                    switch (xmlGameActor.ModelData.SpecialType.ToLower())
                    {
                    case "bokugreetermodel":
                        //if(BokuGame.bMarsMode)
                        //    modelFileName = "Models\\Rover";
                        result = new BokuGreeterModel(modelFileName);
                        break;
                    }
                }
            }

            if (result == null)
            {
                result = new FBXModel(modelFileName);
            }

            result.XmlActor = xmlGameActor;

            if (xmlGameActor != null && xmlGameActor.ModelData != null)
            {
                if (xmlGameActor.ModelData.TechniqueExt != null)
                {
                    result.TechniqueExt = xmlGameActor.ModelData.TechniqueExt;
                }

                if (xmlGameActor.ModelData.Shininess != null)
                {
                    result.Shininess = xmlGameActor.ModelData.Shininess.Value;
                }
            }

            return(result);
        }
コード例 #3
0
        }     // end of ToolMenu Update()

#if MF_HOSE_TESTS
        private void TestUndo()
        {
            GamePadInput pad = GamePadInput.GetGamePad0();

            if (pad.ButtonY.WasPressed)
            {
                doTest = 0;
                pad.ButtonY.ClearAllWasPressedState();
            }
            if (doTest >= 0)
            {
                {
                    XmlGameActor testXml = XmlGameActor.Deserialize("BalloonBot");
                    if (testXml == null)
                    {
                        doTest = 0;
                    }
                }

                bool doUndo = BokuGame.bokuGame.rnd.NextDouble() > 0.5f;
                if (doUndo)
                {
                    InGame.UnDoStack.UnDo();
                }
                else
                {
                    InGame.UnDoStack.ReDo();
                }
                {
                    XmlGameActor testXml = XmlGameActor.Deserialize("BalloonBot");
                    if (testXml == null)
                    {
                        doTest = 0;
                    }
                }
            }
        }