Virus m_candidate; // 感染候補者 // Use this for initialization void Start() { virus = GetComponentInParent <Virus>(); virusAbility = GetComponentInParent <VirusAbility>(); // アタッチしていない場合に落とす if (virusAbility == null) { Debug.Break(); } }
// 能力をコピーする public void Copy(VirusAbility virus) { virus.bounsStatus = bounsStatus; virus.skills = skills; }
// 感染 public void Infected(GameObject infectedActor) { if (gameObject.tag != "Player") { combo.PlusCombo(); // 感染時アニメーションを実行する GameObject model = transform.Find("ActorModel").gameObject; Animator anim = model.GetComponent <Animator>(); anim.SetInteger("State", 3); } if (infectedActor != null) { // 病原体の能力をコピーする VirusAbility ability = infectedActor.GetComponent <VirusAbility>(); VirusAbility selfAbility = GetComponent <VirusAbility>(); ability.Copy(selfAbility); Virus original = infectedActor.GetComponent <Virus>(); originalVirus = original; } else { originalVirus = this; } //if (gameObject.tag != "Player") // StartCoroutine(StealVirus(gameObject)); // 感染者であることを示す gameObject.tag = "InfectedActor"; // 感染源なら潜伏時間をスキップする if (citizenType == CitizenType.NORMAL) { if (infectedActor == null) { ChangeState(new InfectedState(this, stateData)); } else { ChangeState(new StayState(this, stateData)); } //GameManager.infectedNum += 1; } if (citizenType == CitizenType.STRONG) { ChangeState(new WaitState(this, stateData)); } audio.PlayOneShot(infectedSE); //感染時にエフェクトを発生させる birthEffect = Instantiate(birthEffect, gameObject.transform); //Debug.Log(gameObject.name + " : Infected"); //combo.ResetCombo(); //StartCoroutine(combo.ComboCoroutine()); }