Esempio n. 1
0
    Virus m_candidate;       // 感染候補者

    // Use this for initialization
    void Start()
    {
        virus        = GetComponentInParent <Virus>();
        virusAbility = GetComponentInParent <VirusAbility>();

        // アタッチしていない場合に落とす
        if (virusAbility == null)
        {
            Debug.Break();
        }
    }
Esempio n. 2
0
 // 能力をコピーする
 public void Copy(VirusAbility virus)
 {
     virus.bounsStatus = bounsStatus;
     virus.skills      = skills;
 }
Esempio n. 3
0
    // 感染
    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());
    }