public void AddToCloseUpTargetGroup(CharacterControl unit) { Transform spine = unit.GetSpine(); if (closeUpTargetGroup.FindMember(spine) == -1) { closeUpTargetGroup.AddMember(spine, unit.CharacterData.TargetGroupWeight, unit.CharacterData.TargetGroupRadius); } }
public void AddToTargetGroup(CharacterControl unit) { Transform spine = unit.GetSpine(); //Debug.Log (spine); if (targetGroup.FindMember(spine) == -1) { targetGroup.AddMember(spine, unit.CharacterData.TargetGroupWeight, unit.CharacterData.TargetGroupRadius); } }
public void Remove(Transform transformToRemove) { if (tg.FindMember(transformToRemove) >= 0) { playerCount--; } tg.RemoveMember(transformToRemove); }
public void Focus(Transform target) { if (!target) { FocusOut(); } int index = cineGroup.FindMember(target); for (int i = 0; i < cineGroup.m_Targets.Length; i++) { cineGroup.m_Targets[i].weight = i == index ? 1 : 0; } }
public void SetFollowAndTarget() { PlayerController[] players = GameObject.FindObjectsOfType <PlayerController>(); if (players.Length > 0) { foreach (PlayerController player in players) { if (targets.FindMember(player.gameObject.transform) < 0) { targets.AddMember(player.gameObject.transform, 1, 1); } } } }
private IEnumerator IncreaseWeight(GameObject objToIncrease) { var currentWeight = settings.startWeight; var currentWeightLerp = 0f; var currentRadius = settings.startRadius; var currentRadiusLerp = 0f; _target.AddMember(objToIncrease.transform, currentWeight, currentRadius); var member = _target.FindMember(objToIncrease.transform); var endFrame = new WaitForEndOfFrame(); yield return(endFrame); while (currentRadiusLerp < 1 && currentWeightLerp < 1) { //currentRadius += Time.deltaTime * (endRadius - startRadius) * (1f/lerpDuration); currentRadiusLerp += Time.deltaTime * (1f / settings.lerpDuration); //currentWeight += Time.deltaTime * (endWeight - startWeight) * (1f/lerpDuration); currentWeightLerp += Time.deltaTime * (1f / settings.lerpDuration); _target.m_Targets[member].radius = Mathf.Lerp(settings.startRadius, settings.endRadius, currentRadiusLerp); _target.m_Targets[member].weight = Mathf.Lerp(settings.startWeight, settings.endWeight, currentWeightLerp); yield return(endFrame); } currentRadiusLerp = 1; currentWeightLerp = 1; yield return(new WaitForSeconds(1f)); while (currentWeightLerp > 0 && currentRadiusLerp > 0) { currentRadiusLerp -= Time.deltaTime * (1f / settings.lerpDuration); currentWeightLerp -= Time.deltaTime * (1f / settings.lerpDuration); _target.m_Targets[member].radius = Mathf.Lerp(settings.startRadius, settings.endRadius, currentRadiusLerp); _target.m_Targets[member].weight = Mathf.Lerp(settings.startWeight, settings.endWeight, currentWeightLerp); yield return(endFrame); } _target.RemoveMember(objToIncrease.transform); _routines.Remove(objToIncrease); }
public override void Interact() { _child.Interact(); if (dependancies.Count == 0) { return; } foreach (var interaction in dependancies.Where(interaction => interaction)) { interaction.Interact(); if (_targetGroupController != null && _target != null && _target.FindMember(interaction.transform) == -1) { _targetGroupController.AddObjectToTargetGroup(interaction.gameObject); } } }
public IEnumerator ChangeCamTargetWeight(Transform bouncer, float weight) { float currentWeight = cameraTargetGroup.m_Targets[cameraTargetGroup.FindMember(bouncer)].weight; bool high = false; if (weight > currentWeight) { high = true; //lerping up while (currentWeight < .99f) { currentWeight = Mathf.Lerp(currentWeight, weight, Time.deltaTime); cameraTargetGroup.m_Targets[cameraTargetGroup.FindMember(bouncer)].weight = currentWeight; // print("changing cam weight running (up): " + currentWeight); yield return(null); } } else if (weight < currentWeight) { high = false; //lerping down while (currentWeight > .01f) { currentWeight = Mathf.Lerp(currentWeight, weight, Time.deltaTime); cameraTargetGroup.m_Targets[cameraTargetGroup.FindMember(bouncer)].weight = currentWeight; yield return(null); } } if (high) { cameraTargetGroup.m_Targets[cameraTargetGroup.FindMember(bouncer)].weight = 1; } if (!high) { cameraTargetGroup.m_Targets[cameraTargetGroup.FindMember(bouncer)].weight = 0; } }
IEnumerator CheckInvadersRoutine() { // Red for (int i = 0; i < battleInfo.redInvaders.Count; i++) { if (redInvadersTg.FindMember(battleInfo.redInvaders[i].transform) == -1) { redInvadersTg.AddMember(battleInfo.redInvaders[i].transform, 0, 0); } } for (int i = 0; i < redInvadersTg.m_Targets.Length; i++) { if (!battleInfo.redInvaders.Contains(redInvadersTg.m_Targets[i].target.GetComponent <LittleDude>())) { redInvadersTg.RemoveMember(redInvadersTg.m_Targets[i].target); } } // Blue for (int i = 0; i < battleInfo.blueInvaders.Count; i++) { if (blueInvadersTg.FindMember(battleInfo.blueInvaders[i].transform) == -1) { blueInvadersTg.AddMember(battleInfo.blueInvaders[i].transform, 0, 0); } } for (int i = 0; i < blueInvadersTg.m_Targets.Length; i++) { if (!battleInfo.blueInvaders.Contains(blueInvadersTg.m_Targets[i].target.GetComponent <LittleDude>())) { blueInvadersTg.RemoveMember(blueInvadersTg.m_Targets[i].target); } } yield return(new WaitForSeconds(1)); StartCoroutine(CheckInvadersRoutine()); }
private void OnEnable() { var cameras = GameObject.Find("Cameras"); if (!cameras) { return; } var tgt = cameras.transform.Find(TargetGroupName); if (!tgt) { return; } _group = tgt.GetComponent <CinemachineTargetGroup>(); if (_group && _group.FindMember(transform) == -1) { _group.AddMember(transform, Weight, Radius); } }