public override void OnInspectorGUI() { TriggerZone trigger = target as TriggerZone; if (trigger.Collider == null) { trigger.Collider = trigger.GetComponent <Collider>(); } if (trigger.Collider != null) { trigger.Collider.isTrigger = true; base.OnInspectorGUI(); return; } if (GUILayout.Button("Box Collider")) { trigger.gameObject.AddComponent <BoxCollider>(); } else if (GUILayout.Button("Sphere Collider")) { trigger.gameObject.AddComponent <SphereCollider>(); } }
public void CarThroughCheckpoint(TriggerZone triggerZone, Transform carTransform) { int nextCheckpointSingleIndex = nextCheckpointSingleIndexList[carTransformList.IndexOf(carTransform)]; PlayerStats thePlayer = carTransform.GetComponent <PlayerStats>(); thePlayer.CurrentZone = nextCheckpointSingleIndex; TriggerZone lastCheckPoint = triggerZones[(nextCheckpointSingleIndex + 1) % triggerZones.Count]; thePlayer.lastZone = lastCheckPoint.gameObject.transform; if (triggerZones.IndexOf(triggerZone) == nextCheckpointSingleIndex) { //Debug.Log("---------------Correct------------------------"); nextCheckpointSingleIndexList[carTransformList.IndexOf(carTransform)] = (nextCheckpointSingleIndex + 1) % triggerZones.Count; Debug.Log(nextCheckpointSingleIndex); if (nextCheckpointSingleIndex == 0) { gameManager.countRound(carTransform); } } else { //Debug.Log("Wrong"); } }
private void OnEnteredTransitionZone(TriggerZone zone) { if (zone is StartTransitionZone transitionZone) { _pathMover.Setup(transitionZone.Path, transitionZone.Speed); } EnteredTransitionZone.Invoke(); }
private static void LinkActionToTriggerZoneArray(TriggerZone trigger, SerializedObject triggerObject, ExampleAction action) { SerializedProperty actionProperty = triggerObject.FindProperty("_actions"); actionProperty.arraySize++; triggerObject.ApplyModifiedProperties(); GuidReference guid = new GuidReference(action); trigger.SetActionByIndex(guid, 0); }
private void OnEscapedTransitionZone(TriggerZone zone) { if (zone is FinishTransitionZone transitionZone) { var moveDirection = transitionZone.MoveDirectionAfterTransition; _physicalMover.Setup(moveDirection); _collisionMover.Setup(moveDirection); } EscapedTransitionZone.Invoke(); }
private static ExampleAction AddActionGuid(TriggerZone trigger) { GameObject actionChild = new GameObject("Action of " + trigger.name); actionChild.transform.SetParent(trigger.transform); actionChild.transform.localPosition = new Vector3(0, 0, 1); ExtGameObjectIcon.SetIcon(actionChild, ExtGameObjectIcon.Icon.CircleRed); ExampleAction action = actionChild.AddComponent(typeof(ExampleAction)) as ExampleAction; return(action); }
// Start is called before the first frame update void Start() { thePlayer = this.GetComponent <PlayerStats>(); triggerZones = new List <TriggerZone>(); foreach (Transform checkpointSingleTransform in Checkpoints) { TriggerZone triggerZone = checkpointSingleTransform.GetComponent <TriggerZone>(); triggerZones.Add(triggerZone); } NextCheckPoint = 1; target = triggerZones[NextCheckPoint].transform; agent = GetComponent <NavMeshAgent>(); }
void PickUpCell() { UIManager.CheckAndActivatePowerImg(); //GetComponent<AudioSource>().PlayOneShot(collectSound); AudioSource.PlayClipAtPoint(collectSound, transform.position); charge++; UIManager.ChangePowerImg(hudCharge[charge]); meter.material.mainTexture = meterCharge[charge]; if (FinishedCollectCharge()) { TriggerZone.ChangeDoorLight(Color.green); } }
private void Awake() { Transform checkpointsTransform = transform.Find("Checkpoints"); triggerZones = new List <TriggerZone>(); foreach (Transform checkpointSingleTransform in checkpointsTransform) { TriggerZone triggerZone = checkpointSingleTransform.GetComponent <TriggerZone>(); triggerZone.SetTrackCheckPoints(this); triggerZones.Add(triggerZone); } nextCheckpointSingleIndexList = new List <int>(); foreach (Transform carTransform in carTransformList) { nextCheckpointSingleIndexList.Add(0); } }
void CheckGTekOverlapPositions(List <Vector3> spots) { foreach (Vector3 spot in spots) { Vector2 overlapPoint = new Vector2(spot.x, spot.y); Collider2D p = Physics2D.OverlapPoint(overlapPoint, layerMask.value); if (p) { TriggerZone tZ = p.gameObject.GetComponent <TriggerZone>(); if (tZ) { Vector2 spot2D = new Vector2(spot.x, spot.y); tZ.OnTriggerZone(spot2D); } break; } else { hitObject = null; } } }
private void OnEnteredLoseZone(TriggerZone zone) { EnteredLoseZone.Invoke(); }
private void OnEnteredFinishZone(TriggerZone zone) { EnteredFinishZone.Invoke(); }