Ejemplo n.º 1
0
 public void Insert(ObjectModel.ComponentKey comp, Material material)
 {
     if (MaterialMap.ContainsKey(comp))
     {
         MaterialMap[comp] = material;
     }
     else
     {
         MaterialMap.Add(comp, material);
     }
 }
Ejemplo n.º 2
0
 public void SetJointTransform(ObjectModel.ComponentKey joint, Matrix4 transform)
 {
     if (_jointTransforms.TryGetValue(joint, out JointTransform jointTransform))
     {
         jointTransform.Transform = transform;
     }
     else
     {
         _jointTransforms.Add(joint, new JointTransform(transform));
         JointTransforms.Add(_jointTransforms[joint]);
     }
 }
Ejemplo n.º 3
0
        public void OnKeyPress(string key)
        {
            if (key.Equals("m"))
            {
                if (activeTransform == TransformEventArgs.TransformEvent.Translation)
                {
                    activeTransform = TransformEventArgs.TransformEvent.Rotation;
                }
                else
                {
                    activeTransform = TransformEventArgs.TransformEvent.Translation;
                }
            }
            else if (key.Equals("b"))
            {
                ub = !ub;
            }

            if (key.Equals("1"))
            {
                focusComp = SpiderHiearchyPackage.body;
            }
            else if (ub)
            {
                if (key.Equals("2"))
                {
                    focusComp = SpiderHiearchyPackage.uleg1;
                }
                else if (key.Equals("3"))
                {
                    focusComp = SpiderHiearchyPackage.uleg2;
                }
                else if (key.Equals("4"))
                {
                    focusComp = SpiderHiearchyPackage.uleg3;
                }
                else if (key.Equals("5"))
                {
                    focusComp = SpiderHiearchyPackage.uleg4;
                }
                else if (key.Equals("6"))
                {
                    focusComp = SpiderHiearchyPackage.uleg5;
                }
                else if (key.Equals("7"))
                {
                    focusComp = SpiderHiearchyPackage.uleg6;
                }
                else if (key.Equals("8"))
                {
                    focusComp = SpiderHiearchyPackage.uleg7;
                }
                else if (key.Equals("9"))
                {
                    focusComp = SpiderHiearchyPackage.uleg8;
                }
            }
            else
            {
                if (key.Equals("2"))
                {
                    focusComp = SpiderHiearchyPackage.bleg1;
                }
                else if (key.Equals("3"))
                {
                    focusComp = SpiderHiearchyPackage.bleg2;
                }
                else if (key.Equals("4"))
                {
                    focusComp = SpiderHiearchyPackage.bleg3;
                }
                else if (key.Equals("5"))
                {
                    focusComp = SpiderHiearchyPackage.bleg4;
                }
                else if (key.Equals("6"))
                {
                    focusComp = SpiderHiearchyPackage.bleg5;
                }
                else if (key.Equals("7"))
                {
                    focusComp = SpiderHiearchyPackage.bleg6;
                }
                else if (key.Equals("8"))
                {
                    focusComp = SpiderHiearchyPackage.bleg7;
                }
                else if (key.Equals("9"))
                {
                    focusComp = SpiderHiearchyPackage.bleg8;
                }
            }

            TransformableObject transform = transformableSpiderObj.GetComp(focusComp);

            if (key.Equals("q"))
            {
                if (activeTransform == TransformEventArgs.TransformEvent.Rotation)
                {
                    transform.Rotate(new Vector(0, 0, 1), 5.0f);
                }
                else
                {
                    transform.Translate(new Vector(0, 0, 0.1f));
                }
                transform.Transform();
            }
            else if (key.Equals("e"))
            {
                if (focusComp != SpiderHiearchyPackage.body)
                {
                    transform = transform.GetSubComp(focusComp);
                }
                if (activeTransform == TransformEventArgs.TransformEvent.Rotation)
                {
                    transform.Rotate(new Vector(0, 0, 1), -5.0f);
                }
                else
                {
                    transform.Translate(new Vector(0, 0, -0.1f));
                }
                transform.Transform();
            }
            else if (key.Equals("w"))
            {
                if (focusComp != SpiderHiearchyPackage.body)
                {
                    transform = transform.GetSubComp(focusComp);
                }
                if (activeTransform == TransformEventArgs.TransformEvent.Rotation)
                {
                    transform.Rotate(new Vector(0, 1, 0), 5.0f);
                }
                else
                {
                    transform.Translate(new Vector(0, 0.1f, 0));
                }
                transform.Transform();
            }
            else if (key.Equals("s"))
            {
                if (focusComp != SpiderHiearchyPackage.body)
                {
                    transform = transform.GetSubComp(focusComp);
                }
                if (activeTransform == TransformEventArgs.TransformEvent.Rotation)
                {
                    transform.Rotate(new Vector(0, 1, 0), -5.0f);
                }
                else
                {
                    transform.Translate(new Vector(0, -0.1f, 0));
                }
                transform.Transform();
            }
            else if (key.Equals("a"))
            {
                if (focusComp != SpiderHiearchyPackage.body)
                {
                    transform = transform.GetSubComp(focusComp);
                }
                if (activeTransform == TransformEventArgs.TransformEvent.Rotation)
                {
                    transform.Rotate(new Vector(1, 0, 0), 5.0f);
                }
                else
                {
                    transform.Translate(new Vector(0.1f, 0, 0));
                }
                transform.Transform();
            }
            else if (key.Equals("d"))
            {
                if (focusComp != SpiderHiearchyPackage.body)
                {
                    transform = transform.GetSubComp(focusComp);
                }
                if (activeTransform == TransformEventArgs.TransformEvent.Rotation)
                {
                    transform.Rotate(new Vector(1, 0, 0), -5.0f);
                }
                else
                {
                    transform.Translate(new Vector(-0.1f, 0, 0));
                }
                transform.Transform();
            }
        }