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

191 lines
5.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Axibug;
using Axibug.Runtime;
using System.Collections.Generic;
using UnityEngine;
namespace Game
{
public class MainRole : RoleBase
{
protected SpriteRenderer mSpriteRenderer;
public SnapshotData mRoleSnapshot;
public S_ROLE_SELF PlayData;
/// <summary>
/// ³õʼ»¯
/// </summary>
/// <param name="data"></param>
public void Init(S_ROLE_SELF data)
{
base.Init(data);
PlayData = data;
mRoleSnapshot = new SnapshotData();
}
protected override void Awake()
{
base.Awake();
mSpriteRenderer = mModelTransfrom.GetComponent<SpriteRenderer>();
}
protected override void OnEnable()
{
base.OnEnable();
}
protected override void OnDisable()
{
base.OnDisable();
}
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();
//ÉèÖÃÓ°×Ó
//fastshadow.SetData(mSpriteRenderer.sprite, mBridgeTransfrom.localEulerAngles, transform.position);
}
if (Input.GetKeyDown(KeyCode.G))
{
Anime.SetAnimatorSpeed(1f);
Move_BaseSpeed = 3.5f * 1f;
}
if (Input.GetKeyDown(KeyCode.Y))
{
Anime.SetAnimatorSpeed(1.5f);
Move_BaseSpeed = 3.5f * 1.5f;
}
if (Input.GetKeyDown(KeyCode.U))
{
Anime.SetAnimatorSpeed(2f);
Move_BaseSpeed = 3.5f * 2f;
}
if (Input.GetKeyDown(KeyCode.I))
{
Anime.SetAnimatorSpeed(2.6f);
Move_BaseSpeed = 3.5f * 2.6f;
}
}
public override void MeshChangeMoveState(bool ToMoveState)
{
if (ToMoveState)
{
Anime.StartRun();
}
else
{
Anime.BackToIdle();
}
}
public override void Release()
{
}
#region ¸ßËÙÒƯģʽ
private bool mIsFastSkillMode = false;
private float LastFastShadowCreateTime = 0;
public bool IsFastSkillMode
{
get { return mIsFastSkillMode; }
set
{
if (mIsFastSkillMode != value)
{
mIsFastSkillMode = value;
if (value)
{
AxibugLog.Debug("¸ßËÙģʽ:¿ª");
//¸Õ¿ªÊ¼¸ßËÙÒƶ¯Ä£Ê½
Move_SpeedMultiplier = ConstClass.FastRunSpeedMultiplier;
Anime.SetAnimatorSpeed(ConstClass.FastRunSpeedMultiplier);
AttackBoxAnime.SetBool("KeepAttack", true);
}
else
{
AxibugLog.Debug("¸ßËÙģʽ:¹Ø");
//¸ÕÍ£Ö¹¸ßËÙÒƶ¯Ä£Ê½
Move_SpeedMultiplier = 1f;
Anime.SetAnimatorSpeed(1f);
AttackBoxAnime.SetBool("KeepAttack", false);
//Camera.main.fieldOfView = GamePlayEntry.MainPlayer.srcCameraFov;
//ÇåÀíÓ°×Ó
GamePlayEntry.EffectMgr.rolegastEftPool.Hide();
}
}
}
}
public void FixedUpdate_FastMoveMode()
{
if (!IsMove)
{
IsFastSkillMode = false;
}
else
{
//Èç¹û³¬¹ýÒƶ¯Ê±¼ä
if(MoveTime > ConstClass.ToFastModeTime
//&& PlayData.skill.hadskillid.Contains(5)//ÅжÏÊÇ·ñÓмÓËÙ¼¼ÄÜ
)
IsFastSkillMode = true;
else
IsFastSkillMode = false;
}
//¸ßËÙģʽ¿ªÓ°×Ó
if (IsFastSkillMode)
{
if (Time.time - LastFastShadowCreateTime > ConstClass.FastModeShadowCreateIntervalTime)
{
LastFastShadowCreateTime = Time.time;
AxibugLog.Debug("´´½¨Ó°×Ó");
//´´½¨Ó°×Ó
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
}
}