public static void CreateCameraData(SV_System curSystem) { //Check to see if data already exists SV_CameraData existingData = (SV_CameraData)AssetDatabase.LoadAssetAtPath("Assets/Team/Alvaro/Database/CameraData.asset", typeof(SV_CameraData)); if (existingData != null) { curSystem.camData = existingData; return; } //Create new data system SV_CameraData curData = (SV_CameraData)ScriptableObject.CreateInstance(typeof(SV_CameraData)); if (curData != null) { AssetDatabase.CreateAsset(curData, "Assets/Team/Alvaro/Database/CameraData.asset"); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); if (curSystem != null) { curSystem.camData = curData; } } else { EditorUtility.DisplayDialog("Survival System", "Cannot create camera data", "OK"); } }
public static void CreateBaseSystem() { Debug.Log("Creating base system..."); SV_System[] systemGO = (SV_System[])GameObject.FindObjectsOfType(typeof(SV_System)); if (systemGO.Length > 0) { EditorUtility.DisplayDialog("Survivalr System", "Base System already exits", "OK"); return; } GameObject curGO = new GameObject("SV_System"); if (curGO) { curGO.transform.position = Vector3.zero; SV_System curSystem = curGO.AddComponent <SV_System>(); if (curSystem != null) { //Create Camera Asset CreateCameraData(curSystem); CreateCharacterData(curSystem); CreateInputData(curSystem); CreateArenaData(curSystem); //Create Camera Controller GameObject curCamGO = new GameObject("SV_CameraCtrl"); if (curCamGO) { curCamGO.transform.parent = curGO.transform; SV_CameraController curCamCtrl = curCamGO.AddComponent <SV_CameraController>(); if (curCamCtrl != null) { curSystem.curCamCtrl = curCamCtrl; } } //Create Character Controller GameObject curCharGO = new GameObject("SV_CharCtrl"); if (curCharGO) { curCharGO.transform.parent = curGO.transform; Rigidbody curCharRigidbody = curCharGO.AddComponent <Rigidbody>(); curCharRigidbody.mass = 1; curCharRigidbody.drag = Mathf.Infinity; curCharRigidbody.angularDrag = Mathf.Infinity; curCharRigidbody.constraints = RigidbodyConstraints.FreezeRotation; curCharRigidbody.useGravity = false; SV_CharController curCharCtrl = curCharGO.AddComponent <SV_CharController>(); //SV_StatePatternCharacter curCharCtrl = curCharGO.AddComponent<SV_StatePatternCharacter>(); if (curCharCtrl != null) { curSystem.curCharCtrl = curCharCtrl; } } Selection.activeObject = curGO; } } }
void OnEnable() { targetSystem = (SV_System)target; }
// Use this for initialization void Awake() { Instance = this; }