コード例 #1
0
        void UpdateSelected()
        {
            Vector3 mPos = Input.mousePosition;
            var     cam  = Camera.main;

            mPos.z = -cam.transform.position.z;
            _wmPos = cam.ScreenToWorldPoint(mPos);
            var hit = Physics2D.Raycast(_wmPos, _wmPos, 0f, layerMask.value, -10f, 10f);

            if (hit.collider != _hitCollider)
            {
                if (hit.collider)
                {
                    var overMarker = hit.collider.GetComponent <SimElemMarker>();
                    if (_overMarker)
                    {
                        onExitMarker.Invoke(_overMarker);
                    }
                    if (overMarker)
                    {
                        onEnterMarker.Invoke(overMarker);
                    }
                    _overMarker = overMarker;
                }
                else
                {
                    _overMarker = null;
                }
                _hitCollider = hit.collider;
            }
        }
コード例 #2
0
        public void DownMarker(SimElemMarker marker)
        {
            switch (_lab.editMethod)
            {
            case FormLab.EditMethod.Make:
                if (marker.elemType == MarkerManager.PARTICLE_ID)
                {
                    _selectedMarkers.Add(marker);
                    if (_selectedMarkers.Count > 1)
                    {
                        _lab.MakeSpring(
                            _selectedMarkers[0].uid,
                            _selectedMarkers[1].uid, 1f);
                        _selectedMarkers.Clear();
                    }
                }
                break;

            case FormLab.EditMethod.Delete:
                if (marker.elemType == MarkerManager.SPRING_ID)
                {
                    _lab.DeleteSpring(marker.uid);
                }
                break;
            }
        }
コード例 #3
0
 public void DownMarker(SimElemMarker marker)
 {
     switch (_lab.editMethod)
     {
     case FormLab.EditMethod.Delete:
         if (marker.elemType == MarkerManager.PARTICLE_ID)
         {
             _lab.DeleteParticle(marker.uid);
         }
         break;
     }
 }
コード例 #4
0
ファイル: FormLab.cs プロジェクト: seiroise/UniVerlet2D
        public void OnDownMarker(SimElemMarker marker)
        {
            if (/*_currentEditMode != null && */ _mode == Mode.Stop)
            {
                // _currentEditMode.DownMarker(marker);

                if (elemMaker)
                {
                    elemMaker.OnDownMarker(marker);
                }
            }
        }
コード例 #5
0
ファイル: SimElemMaker.cs プロジェクト: seiroise/UniVerlet2D
 public void OnDownMarker(SimElemMarker marker)
 {
     _isClickedSpace = false;
     if (marker.attr == _loadedProfile.detectedMarkerAttr)
     {
         _infos.Add(marker.simElemInfo);
         if (CanMake())
         {
             MakeSimElement();
             ClearMakingInfos();
         }
     }
 }
コード例 #6
0
 public void ExitMarker(SimElemMarker marker)
 {
     throw new System.NotImplementedException();
 }
コード例 #7
0
 public void ExitMarker(SimElemMarker marker)
 {
 }
コード例 #8
0
 public void EnterMarker(SimElemMarker marker)
 {
 }