NScumm.Sky.Mouse.FnOpenCloseHand C# (CSharp) Method

FnOpenCloseHand() public method

public FnOpenCloseHand ( bool open ) : void
open bool
return void
        public void FnOpenCloseHand(bool open)
        {
            if (!open && Logic.ScriptVariables[Logic.OBJECT_HELD] == 0)
            {
                SpriteMouse(1, 0, 0);
                return;
            }
            var cursor = (ushort)(FindMouseCursor(Logic.ScriptVariables[Logic.OBJECT_HELD]) << 1);
            if (open)
                cursor++;

            var header = ServiceLocator.Platform.ToStructure<DataFileHeader>(_objectMouseData, 0);
            int size = header.s_sp_size;

            var srcData = size * cursor + ServiceLocator.Platform.SizeOf<DataFileHeader>();
            var destData = ServiceLocator.Platform.SizeOf<DataFileHeader>();
            Array.Copy(_objectMouseData, srcData, _miceData, destData, size);
            SpriteMouse(0, 5, 5);
        }