using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using XFramework; public class CraneSyncHandler : AbsSyncHandler { MyCraneControl craneControl; protected override void Awake() { base.Awake(); craneControl = this.GetComponent(); } public override void HandleSyncData(object msg, string msgType = null) { switch (msgType) { case "ActionSync"://操作行为同步 NetActionType action = (NetActionType)msg; HnadleSyncAction(action); break; case "Trans"://位置同步 CraneSyncData trans = (CraneSyncData)msg; craneControl.SyncCrane(trans.cranePos, trans.trollyPos,trans.ropeChange); break; default: break; } } private void HnadleSyncAction(NetActionType action) { switch (action) { case NetActionType.getCtrl: craneControl.SetActive(false); break; case NetActionType.yeildCtrl: craneControl.SetActive(true); break; default: Debug.Log("吊车未定义的行为,无法同步"); break; } } }