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...