Esempio n. 1
0
        public void CalcLocalMatrix(out Matrix localMatrix, out string currModel)
        {
            SlimBlock.Orientation.GetMatrix(out localMatrix);
            localMatrix.Translation = ((SlimBlock.Min + SlimBlock.Max) * 0.5f) * SlimBlock.CubeGrid.GridSize;

            Vector3 modelOffset;

            Vector3.TransformNormal(ref BlockDefinition.ModelOffset, ref localMatrix, out modelOffset);
            localMatrix.Translation += modelOffset;

            Matrix orientation;

            currModel = SlimBlock.CalculateCurrentModel(out orientation);

            Vector3 position = localMatrix.Translation;

            localMatrix             = orientation;
            localMatrix.Translation = position;
        }