예제 #1
0
        protected virtual bool LockOn()
        {
            if (currentCharaInfo)
            {
                List <string> targetList = currentCharaInfo is CharFemale?FileManager.GetQuickFemaleTargetNames() : FileManager.GetQuickMaleTargetNames();

                if (shouldResetLock)
                {
                    shouldResetLock = false;
                    return(LockOn(targetList[0]));
                }

                if (reduceOffset == true)
                {
                    CameraTargetPos += targetOffsetSize;
                    targetOffsetSize = new Vector3();
                }
                else if (targetOffsetSize.magnitude > 0f)
                {
                    reduceOffset = true;
                    return(true);
                }

                if (!lockOnTarget)
                {
                    return(LockOn(targetList[0]));
                }
                else
                {
                    for (int i = 0; i < targetList.Count; i++)
                    {
                        if (lockOnTarget.name == targetList[i])
                        {
                            int next = i + 1 > targetList.Count - 1 ? 0 : i + 1;
                            return(LockOn(targetList[next]));
                        }
                    }

                    return(LockOn(targetList[0]));
                }
            }

            return(false);
        }