void UpdateLockState() { if (m_eLockState == LockFishState.LFS_Begin) { if (IsLocal()) { if (LockFish == null) { ChangeLockFish(GameBase.FishMgr.LockNextFish(m_nIndex)); } } if (LockFish != null) { m_eLockState = LockFishState.LFS_Locking; LockUI.gameObject.SetActive(true); } } if (m_eLockState == LockFishState.LFS_End) { OnLockFishLost(); LockUI.gameObject.SetActive(false); m_eLockState = LockFishState.LFS_None; } if (m_eLockState == LockFishState.LFS_Locking) { if (IsLocal()) { if (LockFish == null || !LockFish.IsLockBySit(m_nIndex, -100f)) { //DebugLog.Log("locking->begin curfish:" + (LockFish == null ? 0 : LockFish.m_nOnlyId)); LockUI.gameObject.SetActive(false); m_eLockState = LockFishState.LFS_Begin; OnLockFishLost(); } } if (LockFish != null) { Canvas cv = GameBase.GameCanvas; LockUI.localPosition = GameFunction.WorldToLocalPointInRectangle(LockFish.GetLockPoint().position, Camera.main, cv, cv.worldCamera); } } }
public void ChangeLockFish(Fishing_Fish fish) { if (fish == null) { return; } if (LockFish != null) { LockFish.Unlock(m_nIndex); } LockFish = fish; LockFish.Lock(m_nIndex); if (IsLocal()) { UMessage msg = new UMessage((uint)GameCity.EMSG_ENUM.CCMsg_FISHING_CM_TRACECHANGETARGET); msg.Add(GameMain.hall_.GetPlayerId()); msg.Add(LockFish.m_nOnlyId); HallMain.SendMsgToRoomSer(msg); } }