1.仲間の方を向く
edugames-athletic/Assets/AthreticPrj/Scripts/Gamesystems/Controller/
CharacterController.cs
// CharacterController classに追加
public void LookAtTargetPlayer(CharacterController character)
{
Debug.Log($"player lookat ... {character.nickname}");
// @todo 指定された仲間(character)の方を向く
// Quaternion.LookRotation など
// 条件 : character != this
if (character != this)
{
var rot = Quaternion.LookRotation(character.transform.position - transform.position);
transform.rotation = rot;
}
}
edugames-athletic/Assets/AthreticPrj/Scripts/Gamesystems/SceneHandler/
MemberlistScene.cs
// 関数を編集
public void AttachList(List memberlist)
{
AttachListCommand(
memberlist
.OrderByDescending(c => c.point)
//.OrderBy(c => c.team)
// 以下を編集、ボタンのコールバックを設定
.Select(c => new MenuCommand
{
text = c.label,
value = c,
method = () => OnClickMemberButton(c)
})
.ToList(),
(m,g)=>
{
SceneUtility.defaultAttachMenuCommandOnCreate(m, g);
g.GetComponent
![]()
().color = ConnectScene.teambuttonsettings[(int)
((Scoreborad.SortPlayer)m.value).team ].color;
}
);
}
// MemberListScene classに追加
CharacterController lastChoice;
private void OnClickMemberButton(Scoreborad.SortPlayer player){
Debug.Log($"OnClickMemberButton :{player.label}");
// check if ingame
if (GameSystemManager.Instance && GameSystemManager.Instance.IsPlaying)
{
var character = GameSystemManager.GetCharacters().Find(r => r.userid ==
player.userid);
if (character == lastChoice) character = GameSystemManager.Instance.mainplayer;
lastChoice = character;
// @todo LookAtTargetPlayer()呼び出し
// 自分のキャラクター : GameSystemManager.Instance.mainplayer
// 引数 : character
}
}
1