blob: 0fdcf2d32c9ec831d0d430002a6f8a1550a59571 (
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
using System;
using Hazel;
using UnityEngine;
namespace InnerNet
{
public abstract class InnerNetObject : MonoBehaviour, IComparable<InnerNetObject>
{
public bool AmOwner
{
get
{
return this.OwnerId == AmongUsClient.Instance.ClientId;
}
}
public uint SpawnId;
public uint NetId;
public uint DirtyBits;
public SpawnFlags SpawnFlags;
public SendOption sendMode = SendOption.Reliable;
public int OwnerId;
protected bool DespawnOnDestroy = true;
public void Despawn()
{
UnityEngine.Object.Destroy(base.gameObject);
AmongUsClient.Instance.Despawn(this);
}
public virtual void OnDestroy()
{
if (AmongUsClient.Instance && this.NetId != 4294967295U)
{
if (this.DespawnOnDestroy && this.AmOwner)
{
AmongUsClient.Instance.Despawn(this);
return;
}
AmongUsClient.Instance.RemoveNetObject(this);
}
}
public abstract void HandleRpc(byte callId, MessageReader reader);
public abstract bool Serialize(MessageWriter writer, bool initialState);
public abstract void Deserialize(MessageReader reader, bool initialState);
public int CompareTo(InnerNetObject other)
{
if (this.NetId > other.NetId)
{
return 1;
}
if (this.NetId < other.NetId)
{
return -1;
}
return 0;
}
protected void SetDirtyBit(uint val)
{
this.DirtyBits |= val;
}
}
}
|