blob: f43189cb484c7eefb11ae8a471a51e2ffa5f1d07 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 保存当前角色的快照
public struct UnitSnapshotInfo
{
public UnitController unit;
public int animStateHash;
public float normalizedTime;
public TRS trs;
}
// 角色快照,用于lens effect
public class UnitSnapshot : MonoBehaviour
{
[HideInInspector]
public UnitController owner;
public Animator animator;
public Renderer[] renderers;
public bool active
{
get
{
return this.gameObject.activeSelf;
}
set
{
this.gameObject.SetActive(value);
}
}
public void Initialize(UnitController prototype)
{
owner = prototype;
animator.runtimeAnimatorController = prototype.unitAnimation.animator.runtimeAnimatorController;
animator.speed = 0;
}
public void ApplySnapshot(UnitSnapshotInfo info)
{
active = true;
animator.speed = 0.02f;
animator.Play(info.animStateHash, 0, info.normalizedTime);
animator.Update(1 / 60f);
animator.speed = 0;
active = false;
}
}
|