private void Awake() { if (myZoneType == TypeOfZone.Conflict || myZoneType == TypeOfZone.Neutral) { foreach (var zoneCollider in zoneColliders) { if (zoneCollider.GetComponent <Zone>()) { continue; } var s = zoneCollider.gameObject.AddComponent <Zone>(); s.master = this; s.zoneId = zoneID; s.PerformOnCollision = PerformOnCollision; } } if (myZoneType == TypeOfZone.Beneficial) { if (zoneCollider.GetComponent <Zone>()) { return; } var s = zoneCollider.gameObject.AddComponent <Zone>(); s.master = this; s.zoneId = zoneID; s.PerformOnCollision = PerformOnCollision; } }
private void SphereToSphere() { if (CollisionUtility.Intersect(_sphereA, _sphereB)) { _sphereA.GetComponent <Renderer>().sharedMaterial = _isCollidedMaterial; _sphereB.GetComponent <Renderer>().sharedMaterial = _isCollidedMaterial; } else { _sphereA.GetComponent <Renderer>().sharedMaterial = _notCollidedMaterial; _sphereB.GetComponent <Renderer>().sharedMaterial = _notCollidedMaterial; } }
private void FixedUpdate() { if (targetMarker.target != null) { ResourceField.text = targetMarker.target.ResourceAmount.ToString(); } TimerField.text = Timer.seconds.ToString(); if (Input.GetMouseButtonDown(0)) { RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { SphereCollider sphere = hit.collider as SphereCollider; if (sphere != null) { targetMarker.EnableTarget(sphere.GetComponent <Agent>()); } } } if (Input.GetKeyDown(KeyCode.Escape)) { targetMarker.DisableTarget(); } }
protected virtual void Start() { if (_sensorTrigger != null) { AISensor sensor = _sensorTrigger.GetComponent <AISensor>(); } // 获取物体上所有的AIState AIState[] states = GetComponents <AIState>(); foreach (AIState s in states) { if (s != null && !_allStates.ContainsKey(s.GetStateType())) { _allStates[s.GetStateType()] = s; s.SetStateMachine(this); } } if (_allStates.ContainsKey(_currentStateType)) { _currentState = _allStates[_currentStateType]; _currentState.OnEnterState(); } else { _currentState = null; } }
float calculatedGrav; // gravity over time void Start() { me = GetComponent <SphereCollider>(); // get collider for mass mass = me.GetComponent <SphereCollider>().radius; // get mass planetT = GameObject.FindGameObjectsWithTag("planet"); //??? //.GetComponent<GameObject>(); }