2023-01-05 00:28:20 +08:00
|
|
|
|
using Axibug;
|
|
|
|
|
using Axibug.Runtime;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
namespace Game
|
|
|
|
|
{
|
2023-01-05 18:32:58 +08:00
|
|
|
|
public class MainRole : RoleBase
|
2023-01-05 00:28:20 +08:00
|
|
|
|
{
|
2023-01-09 00:17:20 +08:00
|
|
|
|
protected SpriteRenderer mSpriteRenderer;
|
|
|
|
|
public SnapshotData mRoleSnapshot;
|
|
|
|
|
|
2023-01-05 00:28:20 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ʼ<EFBFBD><CABC>
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="data"></param>
|
|
|
|
|
public void Init(S_ROLE_SELF data)
|
|
|
|
|
{
|
|
|
|
|
base.Init(data);
|
2023-01-09 00:17:20 +08:00
|
|
|
|
mRoleSnapshot = new SnapshotData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void Awake()
|
|
|
|
|
{
|
|
|
|
|
base.Awake();
|
|
|
|
|
mSpriteRenderer = mModelTransfrom.GetComponent<SpriteRenderer>();
|
2023-01-05 00:28:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-01-07 23:24:18 +08:00
|
|
|
|
protected override void OnEnable()
|
|
|
|
|
{
|
|
|
|
|
base.OnEnable();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnDisable()
|
|
|
|
|
{
|
|
|
|
|
base.OnDisable();
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-09 23:13:17 +08:00
|
|
|
|
protected override void FixedUpdate()
|
|
|
|
|
{
|
|
|
|
|
base.FixedUpdate();
|
|
|
|
|
FixedUpdate_FastMoveMode();
|
|
|
|
|
}
|
2023-01-09 00:17:20 +08:00
|
|
|
|
|
|
|
|
|
const int SnapInterval = 3;
|
|
|
|
|
int SnapIntervalIndex = 0;
|
|
|
|
|
|
|
|
|
|
protected override void Update()
|
|
|
|
|
{
|
|
|
|
|
base.Update();
|
|
|
|
|
|
|
|
|
|
SnapIntervalIndex++;
|
|
|
|
|
if (SnapIntervalIndex >= SnapInterval)
|
|
|
|
|
{
|
|
|
|
|
mRoleSnapshot.AddSnap(mSpriteRenderer.sprite, mBridgeTransfrom.localEulerAngles, transform.position);
|
|
|
|
|
SnapIntervalIndex = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Input.GetKeyDown(KeyCode.T))
|
|
|
|
|
{
|
|
|
|
|
RoleFastShadow fastshadow = GamePlayEntry.EffectMgr.rolegastEftPool.GetAnyHide();
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>
|
|
|
|
|
//fastshadow.SetData(mSpriteRenderer.sprite, mBridgeTransfrom.localEulerAngles, transform.position);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Input.GetKeyDown(KeyCode.G))
|
|
|
|
|
{
|
|
|
|
|
Anime.SetAnimatorSpeed(1f);
|
2023-01-09 23:13:17 +08:00
|
|
|
|
Move_BaseSpeed = 3.5f * 1f;
|
2023-01-09 00:17:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Input.GetKeyDown(KeyCode.Y))
|
|
|
|
|
{
|
|
|
|
|
Anime.SetAnimatorSpeed(1.5f);
|
2023-01-09 23:13:17 +08:00
|
|
|
|
Move_BaseSpeed = 3.5f * 1.5f;
|
2023-01-09 00:17:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Input.GetKeyDown(KeyCode.U))
|
|
|
|
|
{
|
|
|
|
|
Anime.SetAnimatorSpeed(2f);
|
2023-01-09 23:13:17 +08:00
|
|
|
|
Move_BaseSpeed = 3.5f * 2f;
|
2023-01-09 00:17:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Input.GetKeyDown(KeyCode.I))
|
|
|
|
|
{
|
|
|
|
|
Anime.SetAnimatorSpeed(2.6f);
|
2023-01-09 23:13:17 +08:00
|
|
|
|
Move_BaseSpeed = 3.5f * 2.6f;
|
2023-01-09 00:17:20 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-07 23:24:18 +08:00
|
|
|
|
public override void MeshChangeMoveState(bool ToMoveState)
|
2023-01-05 18:32:58 +08:00
|
|
|
|
{
|
|
|
|
|
if (ToMoveState)
|
|
|
|
|
{
|
|
|
|
|
Anime.StartRun();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Anime.BackToIdle();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-01-05 00:28:20 +08:00
|
|
|
|
public override void Release()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
2023-01-09 23:13:17 +08:00
|
|
|
|
|
|
|
|
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ģʽ
|
|
|
|
|
|
|
|
|
|
private bool mIsFastSkillMode = false;
|
|
|
|
|
private float LastFastShadowCreateTime = 0;
|
|
|
|
|
public bool IsFastSkillMode
|
|
|
|
|
{
|
|
|
|
|
get { return mIsFastSkillMode; }
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if (mIsFastSkillMode != value)
|
|
|
|
|
{
|
|
|
|
|
mIsFastSkillMode = value;
|
|
|
|
|
if (value)
|
|
|
|
|
{
|
|
|
|
|
AxibugLog.Debug("<22><><EFBFBD><EFBFBD>ģʽ:<3A><>");
|
|
|
|
|
//<2F>տ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ģʽ
|
|
|
|
|
Move_SpeedMultiplier = ConstClass.FastRunSpeedMultiplier;
|
|
|
|
|
Anime.SetAnimatorSpeed(ConstClass.FastRunSpeedMultiplier);
|
|
|
|
|
AttackBoxAnime.SetBool("KeepAttack", true);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AxibugLog.Debug("<22><><EFBFBD><EFBFBD>ģʽ:<3A><>");
|
|
|
|
|
//<2F><>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ģʽ
|
|
|
|
|
Move_SpeedMultiplier = 1f;
|
|
|
|
|
Anime.SetAnimatorSpeed(1f);
|
|
|
|
|
AttackBoxAnime.SetBool("KeepAttack", false);
|
|
|
|
|
|
|
|
|
|
//Camera.main.fieldOfView = GamePlayEntry.MainPlayer.srcCameraFov;
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>
|
|
|
|
|
GamePlayEntry.EffectMgr.rolegastEftPool.Hide();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void FixedUpdate_FastMoveMode()
|
|
|
|
|
{
|
|
|
|
|
if (!IsMove)
|
|
|
|
|
{
|
|
|
|
|
IsFastSkillMode = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
if(MoveTime > ConstClass.ToFastModeTime)
|
|
|
|
|
IsFastSkillMode = true;
|
|
|
|
|
else
|
|
|
|
|
IsFastSkillMode = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>Ӱ<EFBFBD><D3B0>
|
|
|
|
|
if (IsFastSkillMode)
|
|
|
|
|
{
|
|
|
|
|
if (Time.time - LastFastShadowCreateTime > ConstClass.FastModeShadowCreateIntervalTime)
|
|
|
|
|
{
|
|
|
|
|
LastFastShadowCreateTime = Time.time;
|
|
|
|
|
AxibugLog.Debug("<22><><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>");
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>
|
|
|
|
|
GamePlayEntry.EffectMgr.rolegastEftPool.GetAnyHide();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
float fov = Camera.main.fieldOfView;
|
|
|
|
|
fov += 30f * Time.deltaTime;
|
|
|
|
|
fov = Mathf.Min(GamePlayEntry.MainPlayer.srcCameraFov + 10f, fov);
|
|
|
|
|
Camera.main.fieldOfView = fov;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
float fov = Camera.main.fieldOfView;
|
|
|
|
|
fov -= 25f * Time.deltaTime;
|
|
|
|
|
fov = Mathf.Max(GamePlayEntry.MainPlayer.srcCameraFov, fov);
|
|
|
|
|
Camera.main.fieldOfView = fov;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
2023-01-05 00:28:20 +08:00
|
|
|
|
}
|
|
|
|
|
}
|