-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRCC.cs
More file actions
134 lines (94 loc) · 3.14 KB
/
Copy pathRCC.cs
File metadata and controls
134 lines (94 loc) · 3.14 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///<summary>
/// API for instantiating, registering new RCC vehicles, and changes at runtime.
///</summary>
public class RCC : MonoBehaviour {
///<summary>
/// Spawn a RCC vehicle prefab with given position, rotation, sets its controllable, and engine state.
///</summary>
public static RCC_CarControllerV3 SpawnRCC (RCC_CarControllerV3 vehiclePrefab, Vector3 position, Quaternion rotation, bool registerAsPlayerVehicle, bool isControllable, bool isEngineRunning) {
RCC_CarControllerV3 spawnedRCC = (RCC_CarControllerV3)GameObject.Instantiate (vehiclePrefab, position, rotation);
spawnedRCC.gameObject.SetActive (true);
spawnedRCC.SetCanControl (isControllable);
if(registerAsPlayerVehicle)
RCC_SceneManager.Instance.RegisterPlayer (spawnedRCC);
if (isEngineRunning)
spawnedRCC.StartEngine (true);
else
spawnedRCC.KillEngine ();
return spawnedRCC;
}
///<summary>
/// Registers the vehicle as player vehicle.
///</summary>
public static void RegisterPlayerVehicle(RCC_CarControllerV3 vehicle){
RCC_SceneManager.Instance.RegisterPlayer (vehicle);
}
///<summary>
/// Registers the vehicle as player vehicle.
///</summary>
public static void RegisterPlayerVehicle(RCC_CarControllerV3 vehicle, bool isControllable){
RCC_SceneManager.Instance.RegisterPlayer (vehicle, isControllable);
}
///<summary>
/// Registers the vehicle as player vehicle.
///</summary>
public static void RegisterPlayerVehicle(RCC_CarControllerV3 vehicle, bool isControllable, bool engineState){
RCC_SceneManager.Instance.RegisterPlayer (vehicle, isControllable, engineState);
}
///<summary>
/// De-Registers the player vehicle.
///</summary>
public static void DeRegisterPlayerVehicle(){
RCC_SceneManager.Instance.DeRegisterPlayer ();
}
///<summary>
/// Sets controllable state of the vehicle.
///</summary>
public static void SetControl(RCC_CarControllerV3 vehicle, bool isControllable){
vehicle.SetCanControl (isControllable);
}
///<summary>
/// Sets engine state of the vehicle.
///</summary>
public static void SetEngine(RCC_CarControllerV3 vehicle, bool engineState){
if (engineState)
vehicle.StartEngine ();
else
vehicle.KillEngine ();
}
///<summary>
/// Sets the mobile controller type.
///</summary>
public static void SetMobileController(RCC_Settings.MobileController mobileController){
RCC_Settings.Instance.mobileController = mobileController;
}
///<summary>
/// Sets the units.
///</summary>
public static void SetUnits(){}
///<summary>
/// Sets the Automatic Gear.
///</summary>
public static void SetAutomaticGear(){}
///<summary>
/// Starts / stops to record the player vehicle.
///</summary>
public static void StartStopRecord(){
RCC_SceneManager.Instance.recorder.Record ();
}
///<summary>
/// Start / stops replay of the last record.
///</summary>
public static void StartStopReplay(){
RCC_SceneManager.Instance.recorder.Play ();
}
///<summary>
/// Stops record / replay of the last record.
///</summary>
public static void StopRecordReplay(){
RCC_SceneManager.Instance.recorder.Stop ();
}
}