public void RemoveMe() { if (test) { test.RemoveMember(gameObject.transform); test = null; } }
public void RemoveMember(GameObject go) { var index = targetGroup.FindMember(go.transform); if (index >= 0) { targetGroup.RemoveMember(go.transform); } }
IEnumerator RemoveStartTargetMembers(int waitTime) { yield return(new WaitForSeconds(waitTime)); for (int i = 0; i < startTargets.Length; i++) { targetGroup.RemoveMember(startTargets[i].transform); } }
private void Awake() { if (instance == null) { instance = this; Physics2D.IgnoreLayerCollision(8, 8); Physics2D.IgnoreLayerCollision(8, 9); meteorManager = FindObjectOfType <MeteorManager>(); targetGroup = FindObjectOfType <Cinemachine.CinemachineTargetGroup>(); foreach (Human human in humans) { human.onDeath.AddListener(new UnityAction(() => { targetGroup.RemoveMember(human.transform); })); targetGroup.AddMember(human.transform, 1, 2); } } }
void OnBallDestroyed(Ball ball) { m_cameraTargetGroup.RemoveMember(ball.transform); SpawnBall(); }
void Frenzy() { frenzied = true; Sequence seq = DOTween.Sequence(); seq.AppendCallback(() => vcam.GetCinemachineComponent <Cinemachine.CinemachineFramingTransposer>().m_GroupFramingMode = Cinemachine.CinemachineFramingTransposer.FramingMode.HorizontalAndVertical); seq.AppendInterval(0.3f); var colCount = Physics2D.OverlapCircle(transform.position, frenzyRadius.Value, new ContactFilter2D(), frenzyColliders); foreach (var col in frenzyColliders) { if (col.TryGetComponent <NPC>(out var npc)) { cinemachineTargetGroup.AddMember(npc.transform, 1f, 0f); npc.StopFollow(); var npcRb = npc.GetComponent <Rigidbody2D>(); npcRb.velocity = Vector2.zero; npcRb.isKinematic = true; seq.AppendCallback(() => { npc.GetComponent <Rigidbody2D>().isKinematic = false; Time.timeScale = 1f; }); seq.Append(rb.DOMove(npc.transform.position, 0.2f)); seq.AppendCallback(() => { Time.timeScale = 0.2f; void SpawnClothe(UnityAtoms.SpriteValueList list) { var clothe = Instantiate(clothePrefab, npc.transform.position, Quaternion.Euler(0f, 0f, Random.Range(0f, 360f))); clothe.GetComponent <SpriteRenderer>().sprite = NPC.GetRandomSpriteFromList(list); clothe.GetComponent <Rigidbody2D>().AddForce(new Vector2(Random.Range(-1f, 1f), Random.Range(-1f, 1f)).normalized * 40f, ForceMode2D.Impulse); clothe.GetComponent <Rigidbody2D>().AddTorque(Random.Range(-1f, 1f) * 5f, ForceMode2D.Impulse); }; SpawnClothe(npc.topsList); SpawnClothe(npc.hatsList); SpawnClothe(npc.meleeWeaponsList); SpawnClothe(npc.pantsList); SpawnClothe(npc.shieldsList); if (npc.IsNakey()) { dressedCount.Value++; } npc.ToggleDress(); }); seq.AppendCallback(() => { rb.DOMove(npc.transform.position /* + (npc.transform.position - transform.position).normalized * 0.01f */, 0.1f); }).AppendInterval(0.1f); seq.AppendCallback(() => cinemachineTargetGroup.RemoveMember(npc.transform)); } } // Sequence camSeq = DOTween.Sequence(); // camSeq.Append(DOTween.To(() => ppc.assetsPPU, (v) => ppc.assetsPPU = v, 128, 0.3f)); // camSeq.Append(DOTween.To(() => ppc.assetsPPU, (v) => ppc.assetsPPU = v, 16, seq.Duration())); seq.AppendCallback(() => vcam.GetCinemachineComponent <Cinemachine.CinemachineFramingTransposer>().m_GroupFramingMode = Cinemachine.CinemachineFramingTransposer.FramingMode.None); seq.AppendCallback(() => { Time.timeScale = 1f; int nakeyCount = 0; foreach (var npc in FindObjectsOfType <NPC>()) { if (npc.IsNakey()) { nakeyCount++; } } Debug.Log("Nakey: " + nakeyCount); }); }