//tips
//各キャラクターのphoton対応継続
次はbearの整備を進めていく。
ベースとなる変更は、envpalymove5photonスクリプトの組み込み、HPscript2への更新、photonview、photontransform、photonanimatorviewおよびnetworkcharactorスクリプトのアタッチ。攻撃判定箇所へのcharamodemanagerスクリプトの追加。UIへのDeerActionlistスクリプトの追加。minimapsphere,Particle System moonlight,minimapcameraの追加、playwalkingboolなどのanimationの編集、UIとの連携の調整。DeerActionlistスクリプトのActionlistとして利用。
さらに、3体目のキャラクター用imageをPIckUIへの追加、それをcharachangeスクリプトへ反映なども発生する。
Prefabから見ていく。
CharaUIchange2スクリプトにBear用コントローラーを表示させるために下記を追加。
public void OpenUi3()
{
StartCoroutine("thisHide2");
flag = true;
}
IEnumerator thisHide3()
{
yield return new WaitForSeconds(2);
ui3.SetActive(true);
yield return new WaitForSeconds(1);
baseui.SetActive(false);
}
photonCountスクリプトではキャラクターの選択画面で画像からキャラクター番号を取得する部分とキャラクター番号からprefab生成する部分を追加。
public void BeforeBear()
{
chara = 3;
Debug.Log("charafox");
}
if (chara == 3)
{
var v = new Vector3(35, 5, 120);
PhotonNetwork.Instantiate("Bear", v, Quaternion.identity);
}
ここまでできたら、早速UIとオブジェクトの操作の紐付けを行なっていく。
Bearの攻撃力一時増加効果をDeerActionlistからCharaModeManager経由のbool設定とする。
攻撃の受け手側からHPScript2で攻撃側のCharaModeManagerのboolを確認する形となる。ここはcharaModeManager.deerpowerflagの流用で問題なさそう。
下記で対応可能。
photonView.RPC(nameof(AttackDamage2), RpcTarget.All);
//hPScript.hp -= powerEnemy * 2;
Debug.Log("human");
charaModeManager.deerpowerflag = false;
またBearのみparticleを利用させるためにBearParticlePlayを作成。
無事にparticleを反映できた。
また、回復処理も同期させる必要があるのでpowerRecover()メソッドなどを同期対象に変更した。
public void powerRecover()
{
photonView.RPC(nameof(DopowerRecover), RpcTarget.All);
}
[PunRPC]
void DopowerRecover()
{
hp += 1;
}