-
Notifications
You must be signed in to change notification settings - Fork 459
Expand file tree
/
Copy pathMoveInCircle.cs
More file actions
60 lines (49 loc) · 1.54 KB
/
MoveInCircle.cs
File metadata and controls
60 lines (49 loc) · 1.54 KB
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
using Unity.Netcode;
using Unity.Netcode.Components;
using UnityEngine;
public class MoveInCircle : NetworkBehaviour
{
[SerializeField]
private float m_MoveSpeed = 5;
[SerializeField]
private float m_RotationSpeed = 30;
[SerializeField]
private bool m_RunServerOnly;
[SerializeField]
private bool m_RunInUpdate;
private NetworkTransform m_NetworkTransform;
public override void OnNetworkSpawn()
{
base.OnNetworkSpawn();
m_NetworkTransform = GetComponent<NetworkTransform>();
//NetworkManager.Singleton.NetworkTimeSystem.ServerBufferSec = 0.15f;
}
private void FixedUpdate()
{
if (m_RunInUpdate)
{
return;
}
Tick(true);
}
private void Update()
{
if (!m_RunInUpdate)
{
return;
}
Tick(false);
}
private void Tick(bool isFixed)
{
// if (m_NetworkTransform != null && m_NetworkTransform.CanCommitToTransform || !m_RunServerOnly)
if (IsServer)
{
var deltaTime = isFixed ? Time.fixedDeltaTime : Time.deltaTime;
// GetComponent<NetworkTransform>().ApplyDelta(transform.forward * m_MoveSpeed, Quaternion.Euler(0, m_RotationSpeed, 0), Vector3.one);
transform.position = transform.position + transform.forward * (m_MoveSpeed * deltaTime);
transform.Rotate(0, m_RotationSpeed * deltaTime, 0);
transform.localScale = ((Mathf.Sin(isFixed ? Time.fixedTime : Time.time) + 1) * Vector3.one);
}
}
}