ScaleModel









How do I use Scale Model
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: PhotonTransformViewEditor.cs Copy
84     private void SetupSerializedProperties()
85     {
86         this.m_SynchronizePositionProperty = serializedObject.FindProperty("m_PositionModel.SynchronizeEnabled");
87         this.m_SynchronizeRotationProperty = serializedObject.FindProperty("m_RotationModel.SynchronizeEnabled");
88         this.m_SynchronizeScaleProperty = serializedObject.FindProperty("m_ScaleModel.SynchronizeEnabled");
89     }
File name: PhotonTransformViewEditor.cs Copy
358     private void DrawSynchronizeScaleData()
359     {
360         if (this.m_SynchronizeScaleProperty == null || this.m_SynchronizeScaleProperty.boolValue == false)
361         {
362             return;
363         }
364
365         SerializedProperty interpolateScaleProperty = serializedObject.FindProperty("m_ScaleModel.InterpolateOption");
366         PhotonTransformViewScaleModel.InterpolateOptions interpolateOption = (PhotonTransformViewScaleModel.InterpolateOptions) interpolateScaleProperty.enumValueIndex;
367
368         float containerHeight = EDITOR_LINE_HEIGHT;
369
370         switch (interpolateOption)
371         {
372             case PhotonTransformViewScaleModel.InterpolateOptions.MoveTowards:
373             case PhotonTransformViewScaleModel.InterpolateOptions.Lerp:
374                 containerHeight += EDITOR_LINE_HEIGHT;
375                 break;
376         }
377
378         if (this.m_InterpolateScaleHelpOpen == true)
379         {
380             containerHeight += GetInterpolateHelpBoxHeight();
381         }
382
383         Rect rect = PhotonGUI.ContainerBody(containerHeight);
384         Rect propertyRect = new Rect(rect.xMin + 5, rect.yMin + 2, rect.width - 10, EditorGUIUtility.singleLineHeight);
385
386         DrawPropertyWithHelpIcon(ref propertyRect, ref this.m_InterpolateScaleHelpOpen, interpolateScaleProperty, INTERPOLATE_TOOLTIP);
387         DrawHelpBox(ref propertyRect, this.m_InterpolateScaleHelpOpen, GetInterpolateHelpBoxHeight(), INTERPOLATE_HELP, INTERPOLATE_HELP_URL);
388
389         switch (interpolateOption)
390         {
391             case PhotonTransformViewScaleModel.InterpolateOptions.MoveTowards:
392                 EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_ScaleModel.InterpolateMoveTowardsSpeed"),
393                     new GUIContent("MoveTowards Speed"));
394                 break;
395             case PhotonTransformViewScaleModel.InterpolateOptions.Lerp:
396                 EditorGUI.PropertyField(propertyRect, serializedObject.FindProperty("m_ScaleModel.InterpolateLerpSpeed"), new GUIContent("Lerp Speed"));
397                 break;
398         }
399     }
File name: PhotonTransformView.cs Copy
38     void Awake()
39     {
40         m_PhotonView = GetComponent();
41
42         m_PositionControl = new PhotonTransformViewPositionControl( m_PositionModel );
43         m_RotationControl = new PhotonTransformViewRotationControl( m_RotationModel );
44         m_ScaleControl = new PhotonTransformViewScaleControl( m_ScaleModel );
45     }
File name: PhotonTransformView.cs Copy
79     void UpdateScale()
80     {
81         if( m_ScaleModel.SynchronizeEnabled == false || m_ReceivedNetworkUpdate == false )
82         {
83             return;
84         }
85
86         transform.localScale = m_ScaleControl.GetScale( transform.localScale );
87     }
File name: PhotonTransformViewScaleControl.cs Copy
9     public PhotonTransformViewScaleControl( PhotonTransformViewScaleModel model )
10     {
11         m_Model = model;
12     }
File name: PhotonTransformViewScaleControl.cs Copy
14     public Vector3 GetScale( Vector3 currentScale )
15     {
16         switch( m_Model.InterpolateOption )
17         {
18         default:
19         case PhotonTransformViewScaleModel.InterpolateOptions.Disabled:
20             return m_NetworkScale;
21         case PhotonTransformViewScaleModel.InterpolateOptions.MoveTowards:
22             return Vector3.MoveTowards( currentScale, m_NetworkScale, m_Model.InterpolateMoveTowardsSpeed * Time.deltaTime );
23         case PhotonTransformViewScaleModel.InterpolateOptions.Lerp:
24             return Vector3.Lerp( currentScale, m_NetworkScale, m_Model.InterpolateLerpSpeed * Time.deltaTime );
25         }
26     }

Download file with original file name:ScaleModel

ScaleModel 120 lượt xem

Gõ tìm kiếm nhanh...