public override void OnInspectorGUI() { base.OnInspectorGUI(); DiffusesNodeMap script = (DiffusesNodeMap)target; if (GUILayout.Button("Bake")) { script.bake = true; } }
private void OnEnable() { NPCManager = FindObjectOfType <NPCManager>(); if (NPCManager == null) { Debug.LogError("NPCManager is null"); } player = FindObjectOfType <CPMovement>().GetComponent <CPMovement>(); if (player == null) { Debug.LogError("CPMovement or Player Logic are not assigned."); } else { playerLogic = player.GetComponent <PlayerLogic>(); } _diffuseNavMap = FindObjectOfType <DiffusesNodeMap>(); skinnedMeshRenderer = GetComponentInChildren <SkinnedMeshRenderer>(); skinnedMeshRenderer.material = skinnedMeshRenderer.sharedMaterials[skinnedMeshMaterialIndex]; _animator = GetComponent <Animator>(); rb = GetComponent <Rigidbody>(); NPCBoxCollider = GetComponent <BoxCollider>(); viewArcNodes = new List <Vector3>(); originalScale = transform.localScale; behaviourState = new Context(); // optionally add things you might need access to in your leaf nodes behaviourState.enemy = playerLogic; behaviourState.me = this; behaviourTree = CreateBehaviourTree(); behaviourState._originalRadius = _NPCAgent.stoppingDistance; info.avoidanceRange = _avoidanceRange; info.scriptReference = this; NPCManager._NPCList.Add(info); _diffuseNavMap.RegisterObject(transform); }