AkiraPixelWind/Assets/Scripts/Main/Role/MainRole.cs

188 lines
5.3 KiB
C#
Raw Normal View History

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
{
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);
mRoleSnapshot = new SnapshotData();
}
protected override void Awake()
{
base.Awake();
mSpriteRenderer = mModelTransfrom.GetComponent<SpriteRenderer>();
2023-01-05 00:28:20 +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();
}
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;
}
if (Input.GetKeyDown(KeyCode.Y))
{
Anime.SetAnimatorSpeed(1.5f);
2023-01-09 23:13:17 +08:00
Move_BaseSpeed = 3.5f * 1.5f;
}
if (Input.GetKeyDown(KeyCode.U))
{
Anime.SetAnimatorSpeed(2f);
2023-01-09 23:13:17 +08:00
Move_BaseSpeed = 3.5f * 2f;
}
if (Input.GetKeyDown(KeyCode.I))
{
Anime.SetAnimatorSpeed(2.6f);
2023-01-09 23:13:17 +08:00
Move_BaseSpeed = 3.5f * 2.6f;
}
}
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
}
}