public override bool userPermitted(User usr, BotRole role) => role == BotRole.User || (role == BotRole.HalfAdmin && checkRole(usr, bot.info.roles.halfadmin)) || (role == BotRole.Admin && checkRole(usr, bot.info.roles.admin));
void Start() { txt = GetComponentInChildren <Text>(); //Chaque bot a un canvas avec un texte affichant son rôle et son état master = FindObjectOfType <GameMaster>(); team = transform.parent.parent.GetComponent <Team>(); currentWayPoint = Random.Range(0, 4); bot_object = transform.parent.gameObject; mybot = bot_object.GetComponent <Bot>(); agent = bot_object.GetComponent <UnityEngine.AI.NavMeshAgent>(); collider = bot_object.GetComponent <Collider>(); renderer = bot_object.GetComponent <Renderer>(); //Les 4 coins de la map wayPoints[0] = new Vector3(-42, 0, -23); wayPoints[1] = new Vector3(46, 0, -27.7f); wayPoints[2] = new Vector3(44.7f, 0, 28); wayPoints[3] = new Vector3(-47, 0, 30); if (team.team_ID == 0) { defensorPos = new Vector3(26, 0, 10); } else { defensorPos = new Vector3(-26, 0, -10); } switch (transform.parent.GetComponent <Bot>().ID)//Set le role de chaque bot en fonction de son ID { case 0: role = BotRole.ATTACK; defaultState = BotState.GET_FLAG; break; case 1: role = BotRole.GUARDIAN; defaultState = BotState.ROUNDS; break; case 2: role = BotRole.ESCORT; IEscortThisGuy = master.GetBotFromID(0 + team.team_ID * 10).GetComponentInChildren <BotBehaviourBaseSystermans>(); Debug.Log(IEscortThisGuy.gameObject.name); defaultState = BotState.E_ATTACK; break; case 3: role = BotRole.DEFENSE; defaultState = BotState.WATCH; break; case 4: role = BotRole.MASS_KILLER; defaultState = BotState.WANDER; break; case 10: role = BotRole.ATTACK; defaultState = BotState.GET_FLAG; break; case 11: role = BotRole.GUARDIAN; defaultState = BotState.ROUNDS; break; case 12: role = BotRole.ESCORT; IEscortThisGuy = master.GetBotFromID(0 + team.team_ID * 10).GetComponentInChildren <BotBehaviourBaseSystermans>(); Debug.Log(IEscortThisGuy.gameObject.name); defaultState = BotState.E_ATTACK; break; case 13: role = BotRole.DEFENSE; defaultState = BotState.WATCH; break; case 14: role = BotRole.MASS_KILLER; defaultState = BotState.WANDER; break; } Debug.Log(team.bots.Length); for (int i = 0; i < 5; i++) { myMates.Add(team.bots[i].GetComponentInChildren <BotBehaviourBaseSystermans>()); } myMatesArray = myMates.ToArray(); state = defaultState; SwitchState(defaultState); }
// user public abstract bool userPermitted(User usr, BotRole role);
public override bool userPermitted(User usr, BotRole role) => true;