197 lines
10 KiB
C#
197 lines
10 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
|
||
public class FishingBehaviorConf : ScriptableObject
|
||
{
|
||
[Header("FISHING ROD ANGLE SETTINGS")]
|
||
public float RodRotationOffset = -3f;
|
||
|
||
public float zRotationRodParam = 3.35f;
|
||
public float zRotationRodOffset = 0f;
|
||
public float yRotationRodParam = 0.5f;
|
||
public float yRotationRodOffset = 5;
|
||
public float xPosRodParam = 1.65f;
|
||
public float xPosRodOffset = 0f;
|
||
|
||
[Header("FISHING HAND ANGLE SETTINGS")]
|
||
public float xRotationHandParam = 1f;
|
||
public float yRotationHandParam = 1f;
|
||
public float zRotationHandParam = 1f;
|
||
|
||
[Header("FISHING CAMERA ANGLE SETTINGS")]
|
||
public float zAngelParam = 0.02f;//基于和鱼的角度,乘以这个参数,得到对应z轴旋转的参数
|
||
public float zAngelMax = 2f;//z旋转的最大值
|
||
|
||
[Header("FISHING DRAWING SETTINGS")]
|
||
public float struggleTime = 10.0f;
|
||
public float force = 1.5f; //drawing基础力量
|
||
public float zeroPointForce = 1.5f; //drawing力量增加值
|
||
[Range(0, 1)] public float clickAddForce = 0.35f; //点按增加力
|
||
public float clickAddTmer = 0.25f;
|
||
//[Range(0, 1)] public float holdMaxAddForce = 0.35f; //长按增加力波动值
|
||
//[Range(0, 1)] public float holdMinAddForce = 0.2f; //长按增加力波动值
|
||
public float holdTimer = 1f;
|
||
|
||
public float cameraDrawingOffset = 93f; //相机原点角度,从右往前转的角度
|
||
|
||
public float flashDrawingRefluxAngel = 93f; //鱼回流中轴角度---废弃的参数
|
||
|
||
[Header("FISHING ENTER MAP SETTINGS")]
|
||
public float rodEnterMapDelay = 2f;//进入新地图后,鱼竿和手延迟出现的时间
|
||
|
||
[Header("FISHING IDLE SETTINGS")]
|
||
public float rodSpidleTime = 5f; //idle01概率变成idle02
|
||
public float rodSpidle = 0.1f; //idle01概率变成idle02
|
||
|
||
[Header("FISHING REELING SETTINGS")]
|
||
|
||
//_reeling 固定速度
|
||
public float reelingSpeed = 1.5f; //拉鱼速度
|
||
public float comebackTimeUpperLimit = 1.85f; //拉鱼回来最短时间
|
||
public AnimationCurve reelCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); //速度曲线
|
||
public float reelingToPullLength = 12.5f;//拉鱼到距离鱼竿Root固定距离就进入pulling
|
||
|
||
[Header("FISHING PULLING SETTINGS")]
|
||
public float fishingRodDisappearsPulling = 0.1f; //普通pulling状态下,钓竿消失时间
|
||
public float fishingRodDisappearsPullingSp = 1.5f; //特殊刺杀pulling状态下,从进入开始钓竿消失时间
|
||
public float lineHeight = 8f; //鱼竿消失后,鱼线移动到的高度
|
||
public float lineMoveToTopTime = 0.1f; //鱼竿消失后,鱼线移动到正上方的时间
|
||
public float lineHoldTopTime = 1f; //鱼线移动到正上方后,保持的时间
|
||
public float lineMoveToMidTime = 0.1f; //鱼竿在正上方保持一段时间后,移动到屏幕中央的时间
|
||
public float jumpScaleTime = 0.5f; //跳跃时间
|
||
public float jumpDuration = 1.2f; //跳跃时间
|
||
public float timeStartScale = 0.5f; //开始慢镜头时间
|
||
public float timeEndScale = 1f; //结束慢镜头时间
|
||
public AnimationCurve timeScaleCurve = AnimationCurve.Linear(0, 1, 1, 1); //时间缩放曲线
|
||
|
||
//CaughtFish延时时间
|
||
public float caughtFishDelayTime = 0.5f; //CaughtFish延时时间
|
||
public float caughtFishHideLineTime = 2.075f; //CaughtFish延时时间
|
||
|
||
//结算后延迟时间
|
||
public float rodAppearDelay = 0f; //鱼竿和手重新出现的延迟时间,必须为0
|
||
public float cameraResetDelay = 0f; //相机回到Preparing01状态的时间
|
||
|
||
[Header("FISHING THROWING SETTINGS")]
|
||
public float audioDelay = 1.5f; //音效延迟时间
|
||
//飞到水面时间
|
||
public float flyToWaterTime = 1f; //飞到水面时间
|
||
|
||
//向前飞行的DOTween AnimationCurve
|
||
public AnimationCurve flyForwardCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); //向前飞行的DOTween AnimationCurve
|
||
|
||
//向下飞行的DOTween AnimationCurve
|
||
public AnimationCurve flyDownCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); //向下飞行的DOTween AnimationCurve
|
||
//鱼自由控制时间
|
||
public float fishFreeControlTime = 1.5f; //鱼饵运动受到代码控制的延迟时间,在此之前是靠动画控制
|
||
public float fishApproachingZRatio = 0.33f; //鱼饵朝着初始曲线收敛的z轴距离百分比
|
||
[Header("FISHING WAITING SETTINGS")]
|
||
//飞行距离
|
||
public float flyDistance = 70f; //飞行距离
|
||
public float waitingDistance = 20f; //回拉距离
|
||
public float waitingMinTime = 2.5f; //最小等待时间
|
||
public float waitingMaxTime = 4.5f; //最大等待时间
|
||
public float waitingPlay = 0.5f; //拉杆涟漪等待时间
|
||
|
||
[Header("FISHING PIERCING SETTINGS")]
|
||
//刺鱼
|
||
public float damageProtectionTime = 0.5f;
|
||
public float[] piercingTime = new float[3] { 0.2f, 0.25f, 0.4f };
|
||
public AnimationCurve piercingTimeScaleCurve = AnimationCurve.Linear(0, 1, 1, 1); //普通刺鱼时间缩放曲线
|
||
public float[] PiercingAnimExitTime = new float[3] { 0.15f, 0.166f, 0.2f };
|
||
|
||
[Header("FISHING PIERCINGSP SETTINGS")]
|
||
//刺鱼直接刺死
|
||
public float piercingFishmMoveZ = 25f;
|
||
public AnimationCurve piercingSpTimeScaleCurve = AnimationCurve.Linear(0, 1, 1, 1); //刺鱼直接刺死时间缩放曲线
|
||
|
||
[Header("FISH ACTION SETTINGS")]
|
||
public AnimationCurve speedHpCurve = AnimationCurve.Linear(0, 1, 1, 1); //速度曲线
|
||
public float turnTime = 0.3f;//鱼转向时间
|
||
[Header("FISH CRUISE SETTINGS")]
|
||
//大鱼常规游弋配置
|
||
public float bigFishSwimSpeed = 10f; //大鱼游弋速度
|
||
public float bigFishSwimAppearInterval = 25f; //大鱼游弋间隔
|
||
|
||
[Header("FISH EAT BY UI")]
|
||
public int shockCount = 2; //总共有几种吃鱼动画表现
|
||
public float bigFishEatSpeed = 40f; //大鱼吃鱼提前速度
|
||
public float bigFishEatTime = 1; //大鱼追击时间
|
||
public float UIEatExitTime = 2;//退出时间
|
||
public float UIEatEndTime = 1;
|
||
[Header("FISH EAT BY ANIM")]
|
||
//大鱼行动延时时间
|
||
public float eatFishActionDelay = 0.666f; //大鱼行动延时时间
|
||
//切换鱼线
|
||
public float eatenFishVanishedDelay = 1f; //切换鱼线
|
||
//鱼竿出现Rod Apear Delay
|
||
public float rodApearDelay = 1.5f; //鱼竿出现Rod Apear Delay
|
||
public float rodDrawingForceMaxDelay = 1.833f; //鱼竿拉满Rod Apear Delay
|
||
public float fishSwimmingDelay = 2f; //鱼游动Delay
|
||
public float fishSwimmingToMapTime = 1f; //鱼游动时间
|
||
public float aniEatExitTime = 2;//退出时间
|
||
public float aniEatEndTime = 0.2f;
|
||
public float darknessTimeDelay = 1.75f;//天气变化
|
||
public float[] fishbosseatingTime = new float[3] { 1.99f, 2.216f, 1.99f };
|
||
public float timeEatStartScale = 0.5f; //开始慢镜头时间
|
||
public float timeEatEndScale = 2f; //结束慢镜头时间
|
||
public float timeEatMinScale = 0.2f; //时间缩放最小值
|
||
public AnimationCurve timeEatScaleCurve = AnimationCurve.Linear(0, 1, 1, 1); //时间缩放曲线
|
||
|
||
[Header("FISH COMBO SETTINGS")]
|
||
public float maxComboTipFadeTime = 0.1f; //fxJumpOutDelay
|
||
public float maxComboFxFadeTime = 0.1f; //fxJumpInDelay
|
||
|
||
[Header("FISH FAIL SETTINGS")]
|
||
public float rodFailResetTime = 1f; //失败后,鱼竿在这段时间内将位置和旋转复位,并在结束后隐藏鱼线
|
||
|
||
[Header("CAMERA AFTER PULLING SETTINGS")]
|
||
//pulling结束后,camera状态机结束,交由程序控制
|
||
public float blurDelay = 1;//景深开启延迟
|
||
public float blurDistanceZ = 4;//景深距离
|
||
|
||
[Header("SUPPLYDROP AIRPLANE SETTINGS")]
|
||
//空投,飞机
|
||
public float supplyDropPlaneFlyTime = 3.5f;//飞机的飞行时间
|
||
public Vector3 supplyDropPlaneStartPos = new Vector3(0, 70, 50);//飞机的起始坐标
|
||
public Vector3 supplyDropPlaneEndPos = new Vector3(0, 70, 1000);//飞机的最终坐标
|
||
public float[] supplyDropPlaneStartX = new float[2] { 0f, 20f };//飞机的起始x轴,在这2个值之间随机
|
||
public float[] supplyDropPlaneEndX = new float[2] { 25f, 40f };//飞机的结束x轴,在这2个值之间随机
|
||
|
||
[Header("SUPPLYDROP FLY SETTINGS")]
|
||
//空投,飞行阶段
|
||
public float supplyDropTitleDelay = 0;//横幅出现延迟
|
||
public float supplyDropCameraMoveDelay = 1;//相机推进的延迟
|
||
public float supplyDropAppearDelay = 0.5f; //空投包出现延迟
|
||
public Vector3 supplyDropPackFlyStartRand;//空投包出现时的随机范围,为相对目标点的相对位置
|
||
public Vector3 supplyDropFlyTargetPos;//空投包的目标点位
|
||
public float[] supplyDropFlyTargetRotationYRand = new float[2] { -25f, -15f };//空投包的目标点位y轴随机旋转范围,注意和飞机方向相同
|
||
public float supplyDropFlyTime = 3;//空投包的飞行时间
|
||
public AnimationCurve supplyDropFlyCurve = AnimationCurve.Linear(0, 1, 1, 1); //空投包的飞行位置曲线
|
||
|
||
[Header("SUPPLYDROP DROP SETTINGS")]
|
||
//空投,落水阶段
|
||
public float supplyDropFxSmokeDelay = 0;//浓烟特效延迟
|
||
public float supplyDropPackIdleDelay = 0.5f; //状态机置为Idle的延迟,其实是落水动画的时间
|
||
public float supplyDropClaimDelay = 0.5f;//领取按钮的出现延迟
|
||
|
||
[Header("SUPPLYDROP OPEN SETTINGS")]
|
||
//空投,打开阶段
|
||
public float supplyDropOpenDelay = 0.3f;//空投包播放开光特效延迟
|
||
public float supplyDropPackVanishDelay = 2.5f;//隐藏空投包延迟
|
||
public float supplyDropContainerDelay = 0.25f;//内容物延迟多久出现
|
||
public Vector3 supplyDropContainerFirstFlyRelativePos;//内容物飞到相对位置
|
||
public float supplyDropContainerFirstFlyTime = 0.5f;//内容物第一段飞行时间,会飞到相对Content点的位置
|
||
public AnimationCurve supplyDropContainerFirstFlyCurve = AnimationCurve.Linear(0, 1, 1, 1); //内容物的第一段飞行曲线
|
||
public Vector3 supplyDropContainerFlyPos;//内容物屏幕正中央的世界坐标
|
||
public float supplyDropContainerFlyScale = 1.5f;//内容物飞行到位置后的缩放
|
||
public float supplyDropContainerFlyTime = 0.5f;//内容物飞行到指定位置的时间
|
||
public float supplyDropContainerFxDelay = 1f;//内容物飞行到指定位置后,延迟这么久播放特效
|
||
public float supplyDropVanishDelay = 2f;//内容物延迟从show到消失
|
||
public float supplyDropCameraBackDelay = 0.33f;//内容物延迟这么久之后,镜头执行回归idle逻辑
|
||
public AnimationCurve supplyDropContainerFlyCurve = AnimationCurve.Linear(0, 1, 1, 1); //内容物的飞行位置曲线
|
||
|
||
}
|