示例#1
0
        static Vector3 DragVector(Vector2 mouse, _data data, UIViewport viewport)
        {
            var position  = data.dragStartPoint;
            var direction = data.dragAxis;

            Matrix4x4.Invert(viewport.mvp, out var invMvp);

            (Vector4 p0, Vector4 p1) = ClipLineX(position, position + direction, viewport.mvp);
            p0 /= p0.W;
            p1 /= p1.W;
            Vector4 dragUnit = (p1 - p0);

            dragUnit /= new Vector2(dragUnit.X, dragUnit.Y).Length();

            Vector2 mouseProj = (mouse - viewport.leftTop) / viewport.size;

            mouseProj.X = mouseProj.X * 2 - 1;
            mouseProj.Y = 1 - mouseProj.Y * 2;

            Vector2 mouseProj1 = (data.dragScreenStartPoint - viewport.leftTop) / viewport.size;

            mouseProj1.X = mouseProj1.X * 2 - 1;
            mouseProj1.Y = 1 - mouseProj1.Y * 2;

            float l = Vector2.Dot(mouseProj - mouseProj1, new Vector2(dragUnit.X, dragUnit.Y));

            p0 += l * dragUnit;

            Vector4 result = Vector4.Transform(p0, invMvp);

            result /= result.W;
            return(new Vector3(result.X, result.Y, result.Z));
        }
    private void Update()
    {
        if (toSwap == data.parDressup ||
            toSwap == data.pantofi ||
            toSwap == data.skirt ||
            toSwap == data.rochie ||
            toSwap == data.neck ||
            toSwap == data.bag ||
            toSwap == data.gloves ||
            toSwap == data.ear ||
            toSwap == data.tiarra ||
            toSwap == data.pants)
        {
            transform.parent.Find("highlight").GetComponent <Image>().enabled = true;
        }
        else
        {
            transform.parent.Find("highlight").GetComponent <Image>().enabled = false;
        }

        if (GameObject.Find("_bff1"))
        {
            data = GameObject.Find("_bff1").GetComponent <_bffScript>().data;
        }
        else if (GameObject.Find("_bff2"))
        {
            data = GameObject.Find("_bff2").GetComponent <_bffScript>().data;
        }
        else if (GameObject.Find("_bff3"))
        {
            data = GameObject.Find("_bff3").GetComponent <_bffScript>().data;
        }
    }
        private static IEnumerable <_data> GetSampleData(double[][] inputs, double[] labels)
        {
            _data[] vs = new _data[inputs.Length];

            for (int i = 0; i < inputs.Length; i++)
            {
                vs[i] = new _data(inputs[i].Length);
                Array.Copy(Array.ConvertAll(inputs[i], new Converter <double, float>(double_to_float)), vs[i].Features, inputs[i].Length);
                vs[i].Label = (float)labels[i];
            }

            return(vs);
        }
示例#4
0
 public IActionResult Post([FromBody] _data friendId)
 {
     if (ModelState.IsValid)
     {
         var userId = _manager.GetUserId(User);
         _service.addFriendToUser(friendId.FriendId, userId);
         _requestService.RemoveRequest(userId, friendId.FriendId);
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }
 set => SetProperty(ref _data, value);
示例#6
0
 public FormLinkNullable <ILightGetter> LightingTemplate => _lightingTemplateLoc.HasValue ? new FormLinkNullable <ILightGetter>(FormKey.Factory(_package.MetaData.MasterReferences !, BinaryPrimitives.ReadUInt32LittleEndian(HeaderTranslation.ExtractSubrecordMemory(_data, _lightingTemplateLoc.Value, _package.MetaData.Constants)))) : FormLinkNullable <ILightGetter> .Null;
示例#7
0
 get => _map(_data[idx]);
示例#8
0
        public static bool PositionController(ImDrawListPtr drawList, ref Vector3 position, bool draging, UIViewport viewport)
        {
            uint id = (uint)ImGui.GetID("XYZ");

            if (!controllers.TryGetValue(id, out var controller))
            {
                controller = new _data
                {
                };
                controllers[id] = controller;
            }
            dragType hitDragType = dragType.DragNone;
            Vector2  mousePos    = ImGui.GetMousePos();
            Vector2  size        = viewport.size;
            uint     color;

            if (HitTest(position, position + Vector3.UnitX, mousePos, viewport, 10))
            {
                hitDragType = dragType.DragX;
            }
            if (HitTest(position, position + Vector3.UnitY, mousePos, viewport, 10))
            {
                hitDragType = dragType.DragY;
            }
            if (HitTest(position, position + Vector3.UnitZ, mousePos, viewport, 10))
            {
                hitDragType = dragType.DragZ;
            }

            bool dragResult = false;

            if (controller.dragType != dragType.DragNone)
            {
                dragResult = true;
            }
            if (draging)
            {
                if (controller.dragType == dragType.DragNone && !controller.dragMiss)
                {
                    controller.dragType = hitDragType;
                    if (hitDragType == dragType.DragX)
                    {
                        controller.dragAxis             = Vector3.UnitX;
                        controller.dragStartPoint       = position;
                        controller.dragScreenStartPoint = mousePos;
                    }
                    else if (hitDragType == dragType.DragY)
                    {
                        controller.dragAxis             = Vector3.UnitY;
                        controller.dragStartPoint       = position;
                        controller.dragScreenStartPoint = mousePos;
                    }
                    else if (hitDragType == dragType.DragZ)
                    {
                        controller.dragAxis             = Vector3.UnitZ;
                        controller.dragStartPoint       = position;
                        controller.dragScreenStartPoint = mousePos;
                    }
                    else
                    {
                        controller.dragMiss = true;
                    }
                }
                if (controller.dragType != dragType.DragNone && !controller.dragMiss)
                {
                    position   = DragVector(mousePos, controller, viewport);
                    dragResult = true;
                }
            }
            else
            {
                controller.dragType = dragType.DragNone;
                controller.dragMiss = false;
            }
            bool _isDragAxis(dragType d1)
            {
                return(hitDragType == d1 && controller.dragType == dragType.DragNone || controller.dragType == d1);
            }

            color = _isDragAxis(dragType.DragX) ? 0xffffffff : 0x7f7f7fff;
            Draw3DLine(drawList, position, position + Vector3.UnitX, viewport, color, 10);

            color = _isDragAxis(dragType.DragY) ? 0xffffffff : 0x7f7fff7f;
            Draw3DLine(drawList, position, position + Vector3.UnitY, viewport, color, 10);

            color = _isDragAxis(dragType.DragZ) ? 0xffffffff : 0x7fff7f7f;
            Draw3DLine(drawList, position, position + Vector3.UnitZ, viewport, color, 10);


            return(dragResult);
        }
示例#9
0
 set => SetIfChanged(ref _data, value);