Exemple #1
0
    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);
            }
        }
    }
Exemple #2
0
    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);
        }
    }