257 lines
6.6 KiB
C#
257 lines
6.6 KiB
C#
//// ***********************************************************************
|
|
//// Assembly : Game
|
|
//// Author : Kimch
|
|
//// Created : 2020-09-02
|
|
//// Description :
|
|
//// Last Modified By :
|
|
//// Last Modified On :
|
|
//// ***********************************************************************
|
|
//// <copyright file= "Stat_IdleAction" company="Kimch"></copyright>
|
|
//// <summary></summary>
|
|
//// ***********************************************************************
|
|
//using System.Collections.Generic;
|
|
//using UnityEngine;
|
|
//namespace G
|
|
//{
|
|
|
|
// public class Stat_GrabedAction : Stat_BaseAction
|
|
// {
|
|
// private enum ANIM_STEP
|
|
// {
|
|
// BE_GRABED,
|
|
// BE_THRUST,
|
|
// BE_KICKED,
|
|
// END
|
|
// }
|
|
|
|
// private float m_time;
|
|
|
|
// private ANIM_STEP curStep;
|
|
|
|
// private int[] force_grab = new int[7]
|
|
// {
|
|
// 40,
|
|
// 40,
|
|
// 30,
|
|
// 80,
|
|
// 60,
|
|
// 80,
|
|
// 60
|
|
// };
|
|
|
|
// private int[] force_kick = new int[7]
|
|
// {
|
|
// -200,
|
|
// -10,
|
|
// -10,
|
|
// 240,
|
|
// 20,
|
|
// -160,
|
|
// -100
|
|
// };
|
|
|
|
// private float[] speed_begrab = new float[7]
|
|
// {
|
|
// 0.26f,
|
|
// 0.28f,
|
|
// 0.24f,
|
|
// 0.35f,
|
|
// 0.4f,
|
|
// 0.22f,
|
|
// 0.35f
|
|
// };
|
|
|
|
// private float[] speed_bethrust = new float[7]
|
|
// {
|
|
// 0.5f,
|
|
// 0.28f,
|
|
// 0.27f,
|
|
// 0.25f,
|
|
// 0.25f,
|
|
// 0.25f,
|
|
// 0.35f
|
|
// };
|
|
|
|
// private float[] speed_bekicked = new float[7]
|
|
// {
|
|
// 0.2f,
|
|
// 0.25f,
|
|
// 0.25f,
|
|
// 0.3f,
|
|
// 0.25f,
|
|
// 0.28f,
|
|
// 0.25f
|
|
// };
|
|
|
|
// private float[] times = new float[2];
|
|
|
|
// public Stat_GrabedAction(Stat_StateManager statMgr)
|
|
// : base(statMgr)
|
|
// {
|
|
// }
|
|
|
|
// public override bool Enter(Dictionary<string, object> param, bool clearDelegates = false)
|
|
// {
|
|
// RecordData();
|
|
// m_char.EndAI();
|
|
// m_char.ClearSkillEffect();
|
|
// m_char.SetColliderEnabled(false);
|
|
// m_char.StopAnimation();
|
|
// base.Enter(param, clearDelegates);
|
|
// InitAnimData();
|
|
// m_char.SetAnimationSpeed("begrabed" + m_char.myGrabstyle, speed_begrab[m_char.myGrabstyle]);
|
|
// m_time = m_char.PlayAnimationByName("begrabed" + m_char.myGrabstyle);
|
|
// if (m_time == -1f)
|
|
// {
|
|
// return false;
|
|
// }
|
|
// AnimationState animationState = m_char.PlayAnimationQueued("bethrust" + m_char.myGrabstyle);
|
|
// animationState.speed = speed_bethrust[m_char.myGrabstyle];
|
|
// times[0] = animationState.length / animationState.speed;
|
|
// AnimationState animationState2 = m_char.PlayAnimationQueued("bekicked" + m_char.myGrabstyle);
|
|
// animationState2.speed = speed_bekicked[m_char.myGrabstyle];
|
|
// times[1] = animationState2.length / animationState2.speed;
|
|
// curStep = ANIM_STEP.BE_GRABED;
|
|
// Vector3 curPos = Game.myPlayer.GetCurPos();
|
|
// Vector3 a = Vector3.Normalize(m_char.GetCurPos() - Vector3.right * curPos.x - Vector3.forward * curPos.z);
|
|
// m_char.myTransform.forward = -a;
|
|
// m_char.AddRigidBodyForce(a * force_grab[m_char.myGrabstyle]);
|
|
// SetTimers();
|
|
// return true;
|
|
// }
|
|
|
|
// public override bool Exit()
|
|
// {
|
|
// return base.Exit();
|
|
// }
|
|
|
|
// public override bool UpdateDelegate()
|
|
// {
|
|
// switch (curStep)
|
|
// {
|
|
// case ANIM_STEP.BE_GRABED:
|
|
// Game.myPlayer.UpdateGrabTransform(m_char.GetCurPos(), m_char.myTransform.forward);
|
|
// m_char.SetCurPos(Game.myPlayer.GetCurPos());
|
|
// break;
|
|
// case ANIM_STEP.BE_THRUST:
|
|
// Game.myPlayer.UpdateGrabTransform(m_char.GetCurPos(), m_char.myTransform.forward);
|
|
// break;
|
|
// }
|
|
// return true;
|
|
// }
|
|
|
|
// public override bool CanTransition(enStat stat)
|
|
// {
|
|
// if (stat == enStat.STAT_ACTION_DEAD)
|
|
// {
|
|
// return true;
|
|
// }
|
|
// return false;
|
|
// }
|
|
|
|
// private void SetTimers()
|
|
// {
|
|
// m_statMgr.AddTimer(m_time, TimeEnd_CB);
|
|
// }
|
|
|
|
// private bool TimeEnd_CB(object[] param)
|
|
// {
|
|
// switch (curStep)
|
|
// {
|
|
// case ANIM_STEP.BE_GRABED:
|
|
// Debug.Log("down end, play thrust");
|
|
// m_time = times[0];
|
|
// curStep = ANIM_STEP.BE_THRUST;
|
|
// m_char.OnHp(-m_char.GetMaxHp());
|
|
// CreateBlood();
|
|
// m_char.HideHpBar();
|
|
// SetTimers();
|
|
// break;
|
|
// case ANIM_STEP.BE_THRUST:
|
|
// if (m_char.myGrabstyle == 0 || m_char.myGrabstyle == 3 || m_char.myGrabstyle == 5 || m_char.myGrabstyle == 6)
|
|
// {
|
|
// HeroSounds.Instance.Hamer(Game.myPlayer);
|
|
// }
|
|
// Game.myPlayer.AddSliderKill();
|
|
// UIPlayerState.PlayEnemyDead();
|
|
// Debug.Log("play thrust end, play kicked");
|
|
// m_char.AddRigidBodyForce(m_char.myTransform.forward * force_kick[m_char.myGrabstyle]);
|
|
// m_time = times[1];
|
|
// curStep = ANIM_STEP.BE_KICKED;
|
|
// SetTimers();
|
|
// if (MonoInstancePool.getInstance<GuideLocalData>().curGuideModule == 1 && (MonoInstancePool.getInstance<GuideLocalData>().curGuideModuleStep == 2 || MonoInstancePool.getInstance<GuideLocalData>().curGuideModuleStep == 6))
|
|
// {
|
|
// GuideManager._instance.getCurEvent()?.next();
|
|
// }
|
|
// break;
|
|
// case ANIM_STEP.BE_KICKED:
|
|
// Debug.Log("play kicked end, set end in 1");
|
|
// m_time = 1f;
|
|
// curStep = ANIM_STEP.END;
|
|
// SetTimers();
|
|
// break;
|
|
// case ANIM_STEP.END:
|
|
// Debug.Log("monster dead");
|
|
// m_char.bNeedPlayDeadModel = false;
|
|
// m_char.bNeedSplitBlood = false;
|
|
// m_char.OnDead();
|
|
// m_char.myGameObject.SetActiveSafe(false);
|
|
// break;
|
|
// }
|
|
// return false;
|
|
// }
|
|
|
|
// private void guideNextStep()
|
|
// {
|
|
// }
|
|
|
|
// private void RecordData()
|
|
// {
|
|
// }
|
|
|
|
// private void InitAnimData()
|
|
// {
|
|
// Animation component = PrefabManager.Instance().monsterAniObj.GetComponent<Animation>();
|
|
// string text = "begrabed" + m_char.myGrabstyle;
|
|
// if (!m_char.HasAnimation(text))
|
|
// {
|
|
// AnimationClip clip = component.GetClip(text);
|
|
// if ((bool)clip)
|
|
// {
|
|
// m_char.AddAnimation(clip, text);
|
|
// }
|
|
// }
|
|
// string text2 = "bethrust" + m_char.myGrabstyle;
|
|
// if (!m_char.HasAnimation(text2))
|
|
// {
|
|
// AnimationClip clip2 = component.GetClip(text2);
|
|
// if ((bool)clip2)
|
|
// {
|
|
// m_char.AddAnimation(clip2, text2);
|
|
// }
|
|
// }
|
|
// string text3 = "bekicked" + m_char.myGrabstyle;
|
|
// if (!m_char.HasAnimation(text3))
|
|
// {
|
|
// AnimationClip clip3 = component.GetClip(text3);
|
|
// if ((bool)clip3)
|
|
// {
|
|
// m_char.AddAnimation(clip3, text3);
|
|
// }
|
|
// }
|
|
// m_char.SetAnimationLayer("bethrust0", 3);
|
|
// m_char.SetAnimationLayer("begrabed0", 3);
|
|
// m_char.SetAnimationLayer("bekicked0", 3);
|
|
// }
|
|
|
|
// private void CreateBlood()
|
|
// {
|
|
// Transform current_blade = Game.myPlayer.m_hero.m_weapon.current_blade;
|
|
// Quaternion quaternion = Quaternion.LookRotation(-current_blade.forward, new Vector3(0f, -1.3f, 1f));
|
|
// Vector3 pos = current_blade.position + current_blade.forward * 0.01f;
|
|
// Quaternion rotation = quaternion;
|
|
// Character.PlayGrabedBloodEffect(pos, rotation);
|
|
// HeroSounds.Instance.Blood(Game.myPlayer);
|
|
// }
|
|
// }
|
|
//} |