using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 注意:1.此脚本和动画共用时,需要注意动画激活时,缩放会被锁死,无法移动。 /// 2.有控制权才能移动,结束后需释放控制权(控制权专属除外) /// public class FunctionSync_Scale : OneValueSyncObject { /// /// 是否有控制权 /// public bool isControl=false; private void Start() { Init(); } public void Init() { if(!hasInit) { InitDynamic("Scale_" + gameObject.name, null, ValueType.Vector3); myvector3 = transform.localScale; } } /// /// 获取控制权 /// public void GetControl() { isControl = true; } /// /// 释放控制权 /// public void ReleaseControl() { isControl = false; myvector3 = transform.localScale; SendSync(); } [DisplayOnly] public float OnceTime = 0.1f; private void LateUpdate() { if (!GameManage.Instance.is单机模式) { if (!isControl) { transform.localScale = myvector3; } else { if (Vector3.Distance(myvector3, transform.localScale) > OnceTime) { myvector3 = transform.localScale; SendSync(); } } } } }