summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Unit
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts/Unit')
-rw-r--r--Assets/Scripts/Unit/AI/Conditionals.meta8
-rw-r--r--Assets/Scripts/Unit/Components/UnitRender.cs2
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState.cs10
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState_States.cs6
-rw-r--r--Assets/Scripts/Unit/Effect.meta (renamed from Assets/Scripts/Unit/AI/Actions.meta)2
-rw-r--r--Assets/Scripts/Unit/Effect/UnitCamera.cs34
-rw-r--r--Assets/Scripts/Unit/Effect/UnitCamera.cs.meta11
-rw-r--r--Assets/Scripts/Unit/TimelineEventProxy.cs2
-rw-r--r--Assets/Scripts/Unit/UnitDetail.cs40
9 files changed, 97 insertions, 18 deletions
diff --git a/Assets/Scripts/Unit/AI/Conditionals.meta b/Assets/Scripts/Unit/AI/Conditionals.meta
deleted file mode 100644
index 70a86da5..00000000
--- a/Assets/Scripts/Unit/AI/Conditionals.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 85b7e0c7ed1d12f42a5178bfbf3d934c
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/Unit/Components/UnitRender.cs b/Assets/Scripts/Unit/Components/UnitRender.cs
index c8f6a125..b3fd18c8 100644
--- a/Assets/Scripts/Unit/Components/UnitRender.cs
+++ b/Assets/Scripts/Unit/Components/UnitRender.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
-// 控制角色渲染
+// 角色渲染
[DisallowMultipleComponent]
public class UnitRender : UnitComponent
{
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
index afedf6d8..c7cab21c 100644
--- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
@@ -131,7 +131,7 @@ public partial class PCState : UnitState
}
}
- void TryTeleport()
+ bool TryTeleport()
{
if (Input.GetKeyDown("i"))
//if (InputManager.Instance.TryCommand(0.5f, KeyCode.I))
@@ -139,12 +139,14 @@ public partial class PCState : UnitState
float offset = owner.isTowardRight ? 1.5f : -1.5f;
owner.center = TestErika.Instance.monster.owner.center + new Vector3(offset, -0.5f, 0);
TurnAround(!owner.isTowardRight);
+ return true;
}
+ return false;
}
- void TryBlink()
+ bool TryBlink()
{
-
+ return false;
}
bool TryTianyin()
@@ -161,7 +163,7 @@ public partial class PCState : UnitState
bool TryAttackToAir()
{
- if(Input.GetKey("s") && Input.GetKeyDown("j"))
+ if(Input.GetKey("w") && Input.GetKeyDown("j"))
{
ChangeState(EUnitState.AttackToAir, new SkillParam());
return true;
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
index 7860e2af..738cc7ce 100644
--- a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs
@@ -212,9 +212,11 @@ public partial class PCState : UnitState
InputManager.Instance.ClearCommand();
while (true)
{
- TryTeleport();
+ if (TryTeleport())
+ {
+ }
- TryTianyin();
+ TryTianyin();
if (isComboOpen)
{
diff --git a/Assets/Scripts/Unit/AI/Actions.meta b/Assets/Scripts/Unit/Effect.meta
index 9b4ad463..18369d64 100644
--- a/Assets/Scripts/Unit/AI/Actions.meta
+++ b/Assets/Scripts/Unit/Effect.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 971e9d55b8bc0894eb6a110fb962000b
+guid: 7ff5e16d7cc0410489258a170a2a539a
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Scripts/Unit/Effect/UnitCamera.cs b/Assets/Scripts/Unit/Effect/UnitCamera.cs
new file mode 100644
index 00000000..01194512
--- /dev/null
+++ b/Assets/Scripts/Unit/Effect/UnitCamera.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+// 专门用来渲染player character的相机,用来做特效
+[RequireComponent(typeof(Camera))]
+public class UnitCamera : MonoBehaviour
+{
+ PCController pc { get { return UnitManager.Instance.pc; } }
+
+ Camera m_Camera;
+
+ private void OnEnable()
+ {
+ m_Camera = GetComponent<Camera>();
+ }
+
+ private void OnPreRender()
+ {
+ if (pc == null)
+ return;
+ if (m_Camera == null)
+ return;
+
+ Vector3 pos = transform.position;
+ transform.position = new Vector3(pc.center.x, pc.center.y, pos.z);
+
+ float dz = Mathf.Abs(pos.z - pc.center.z);
+ float fov = 2 * Mathf.Atan2(pc.unitDetail.snapshotBound / 2, dz) * Mathf.Rad2Deg;
+
+ m_Camera.fieldOfView = fov;
+ }
+
+}
diff --git a/Assets/Scripts/Unit/Effect/UnitCamera.cs.meta b/Assets/Scripts/Unit/Effect/UnitCamera.cs.meta
new file mode 100644
index 00000000..e74544bd
--- /dev/null
+++ b/Assets/Scripts/Unit/Effect/UnitCamera.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c4798e37b95c98b4d9679542c6e14947
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs
index 70e454ba..356a7498 100644
--- a/Assets/Scripts/Unit/TimelineEventProxy.cs
+++ b/Assets/Scripts/Unit/TimelineEventProxy.cs
@@ -45,6 +45,7 @@ public partial class TimelineEventProxy
public RegisterParticleSystemHandle registerParticleSystem;
#endif
+ // 不要序列化枚举值,因为可能会随时更改
public enum EEventType
{
EventGame_TimeScale, // 缩放时间
@@ -61,6 +62,7 @@ public partial class TimelineEventProxy
EventMesh_FadeIn, // 角色透明度
EventMesh_FadeOut, // 角色透明度
EventMesh_Gloss, // 角色泛光
+ EventMesh_Blur, // 运动模糊(非后处理)
EventEnv_Dark,
EventEnv_Exposure,
diff --git a/Assets/Scripts/Unit/UnitDetail.cs b/Assets/Scripts/Unit/UnitDetail.cs
index bab954c4..03d26fdd 100644
--- a/Assets/Scripts/Unit/UnitDetail.cs
+++ b/Assets/Scripts/Unit/UnitDetail.cs
@@ -100,6 +100,11 @@ public enum EUnitReferencePoint
HitpointLowerBody,
HitpointLowerBodyFront,
HitpointLowerBodyBack,
+
+ GrabpointChest = 60, // 被抓取的时候的挂点
+ GrabpointHead,
+ GrabpointLeg,
+
}
[Serializable]
@@ -112,6 +117,8 @@ public class UnitReferencePointDictionary : SerializableDictionary<EUnitReferenc
[DisallowMultipleComponent]
public class UnitDetail : MonoBehaviour
{
+ public bool showGizmos;
+
[Tooltip("残影用的prefab")]
public string afterImageAvatarPath;
@@ -119,8 +126,30 @@ public class UnitDetail : MonoBehaviour
public UnitReferencePointDictionary referencePoints;
- //[ExecuteInEditMode]
- public UnitDetail()
+ //public Vector2 snapshotBound;
+ public float snapshotBound;
+
+ private SkinnedMeshRenderer m_meshRenderer;
+ public SkinnedMeshRenderer meshRenderer
+ {
+ get
+ {
+ if (!m_meshRenderer)
+ m_meshRenderer = this.gameObject.GetComponentInChildren<SkinnedMeshRenderer>();
+ return m_meshRenderer;
+ }
+ }
+
+
+ public Vector3 center
+ {
+ get
+ {
+ return meshRenderer.bounds.center;
+ }
+ }
+
+ public UnitDetail()
{
bones = new UnitBoneDictionary();
foreach(EUnitBone e in Enum.GetValues(typeof(EUnitBone)))
@@ -141,4 +170,11 @@ public class UnitDetail : MonoBehaviour
return bones.ContainsKey(bone);
}
+ private void OnDrawGizmos()
+ {
+ if (!showGizmos)
+ return;
+ Gizmos.DrawWireCube(center, new Vector3(snapshotBound, snapshotBound, 0));
+ }
+
} \ No newline at end of file