少年修仙传客户端代码仓库
client_linchunjie
2019-03-26 e005994d32105faa2cccdedfa2de4eaa8223fe0a
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
56
57
58
59
60
61
62
63
64
65
66
using UnityEngine;
using System.IO;
 
namespace H2Engine
{
    public class Bhv_TransferPoint : MonoBehaviour
    {
        [HideInInspector]
        public int effectID = -1;
        public string stateNameFront = "Fly_500";
        public float flyTimeFront = 2;
        public string stateNameBack = "Fly_500";
        public float flyTimeBack = 2;
 
#if UNITY_EDITOR
 
        [HideInInspector]
        public CapsuleCollider capsuleCollider;
 
        public GameObject Effect;
 
        public void Save(BinaryWriter bw)
        {
            bw.Write(effectID);
            bw.Write(stateNameFront);
            bw.Write(flyTimeFront);
            bw.Write(stateNameBack);
            bw.Write(flyTimeBack);
            bw.Write((float)System.Math.Round(transform.position.x, 2));
            bw.Write((float)System.Math.Round(transform.position.y, 2));
            bw.Write((float)System.Math.Round(transform.position.z, 2));
            bw.Write((float)System.Math.Round(capsuleCollider.radius, 2));
        }
 
        public void Load(BinaryReader br)
        {
            effectID = br.ReadInt32();
            stateNameFront = br.ReadString();
            flyTimeFront = br.ReadSingle();
            stateNameBack = br.ReadString();
            flyTimeBack = br.ReadSingle();
            float _x = br.ReadSingle();
            float _y = br.ReadSingle();
            float _z = br.ReadSingle();
            transform.position = new Vector3(_x, _y, _z);
            float _r = br.ReadSingle();
            capsuleCollider.radius = _r;
            if (EffectConfig.Has(effectID))
            {
                var _prefab = InstanceResourcesLoader.LoadEffect(effectID);
                Effect = Instantiate(_prefab);
                Effect.transform.SetParent(transform);
                Effect.transform.localPosition = Vector3.zero;
                Effect.transform.localScale = Vector3.one;
                Effect.transform.rotation = Quaternion.identity;
            }
        }
 
        public void Export(BinaryWriter bw)
        {
            Save(bw);
        }
 
#endif
    }
}