예제 #1
0
        public void MoveHead()
        {
            try
            {
                var subpart       = npcCrewBlock.GetSubpart("NPC_Weapons_Head");
                var rotation      = 0.005f;
                var initialMatrix = subpart.PositionComp.LocalMatrix;

                if (AnimationLoopHead == 200)
                {
                    AnimationLoopHead = 0;
                }
                if (AnimationLoopHead == 0)
                {
                    TranslationTimeHead = -1;
                }
                if (AnimationLoopHead == 100)
                {
                    TranslationTimeHead = 1;
                }

                var rotationMatrix = MatrixD.CreateRotationY(rotation * TranslationTimeHead);
                //subpart.Value.PositionComp.LocalMatrix = rotationMatrix;
                var matrix = rotationMatrix * initialMatrix;
                subpart.PositionComp.LocalMatrix = matrix;
                AnimationLoopHead++;
            }
            catch (Exception e)
            {
                MyVisualScriptLogicProvider.ShowNotificationToAll("Update Error" + e, 2500, "Red");
            }
        }