public override void Initialize(AiClient client) { base.Initialize(client); mySeeker = (Seeker)MyClient; EventManager.Instance.AddListener <Events.UtilityAi.OnActionChanged>( e => { if (!MyClient.Equals(Events.UtilityAi.OnActionChanged.Origin)) { return; } if (Events.UtilityAi.OnActionChanged.Action.GetType() != typeof(Investigate)) { investigatingSquare = default(Square); currentTarget = Vector3.zero; } else { investigatingSquare = new Square { HigherX = mySeeker.transform.position.x + radius, LowerX = mySeeker.transform.position.x - radius, HigherZ = mySeeker.transform.position.z + radius, LowerZ = mySeeker.transform.position.z - radius } }; MyClient.StartCoroutine(Timer()); }); }
public override void Initialize(AiClient client) { score = 0; base.Initialize(client); info = MyClient.GetType().GetField(affectingBoolean, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); EventManager.Instance.AddListener <Events.UtilityAi.OnValueChanged>(UpdateBool); }
public static void Register(AiClient client) { if (clients.Contains(client)) { Debug.Log($"{client} already a Client"); return; } clients.Add(client); Debug.Log(clients.Count); }
public override void Initialize(AiClient client) { score = 0; EventManager.Instance.AddListener <Events.UtilityAi.OnActionChanged>(e => { if (MyClient.Equals(Events.UtilityAi.OnActionChanged.Origin) && Events.UtilityAi.OnActionChanged.Action.Name == resetAction) { ResetScore(); } }); base.Initialize(client); }
private void CreateAiClients() { aiClients = new AiClient[numberOfAiClients]; GameObject parent = new GameObject("Car pool"); for (int i = 0; i < numberOfAiClients; i++) { GameObject car = Instantiate(carPrefab, parent.transform); car.name = "Car " + i; AiClient aiClient = car.GetComponent <AiClient>(); aiClient.id = i; aiClient.drivingTestCompleted.AddListener(OnAiCompletedTraining); aiClients[i] = aiClient; } }
private void SpawnCars() { foreach (GameObject car in carPool) { Destroy(car); } carPool = new List <GameObject>(); for (int i = 0; i < school.TeamCarsten.Drivers.Count; i++) { GameObject car = Instantiate(carPrefab, startLine.transform.position, startLine.transform.rotation);// Quaternion.Euler(0, -100, 0)); car.name = "Car " + i; AiClient aiClient = car.GetComponent <AiClient>(); aiClient.network = school.TeamCarsten.Drivers[i].Brain; carPool.Add(car); } }
protected override void Awake() { base.Awake(); Agent = GetComponent <NavMeshAgent>(); EventManager.Instance.AddListener <Events.Senses.SpottingChanged>(e => { if (Events.Senses.SpottingChanged.Target != null && Events.Senses.SpottingChanged.Target.Equals(gameObject)) { hasBeenSpotted = true; Follower = Events.Senses.SpottingChanged.Client; } else { hasBeenSpotted = false; // Follower = null; } EventManager.Instance.TriggerEvent(new Events.UtilityAi.OnValueChanged()); }); }
public override void Initialize(AiClient client) { obstacles = Physics.OverlapSphere(client.transform.position, int.MaxValue, 1 << 13); myHider = (Hider)client; EventManager.Instance.AddListener <Events.UtilityAi.OnActionChanged>(e => { if (Events.UtilityAi.OnActionChanged.Origin.Equals(myHider) && Events.UtilityAi.OnActionChanged.Action.GetType() == GetType()) { HideBehindObstacle(FindClosest(myHider.transform.position)); } else if (Events.UtilityAi.OnActionChanged.Origin.Equals(myHider) && Events.UtilityAi.OnActionChanged.Action.GetType() != GetType()) { myHider.hidingTarget = default(Vector3); } }); base.Initialize(client); }
private async void button_Click(object sender, RoutedEventArgs e) { var host = BindAddress.Text; var port = BindPort.Text; try { var aiClient = new AiClient { Name = "StoneGhost" + _clients.Count, NetworkClient = new NetworkClient(host, port) }; var result = await aiClient.LoginAsync(); _rootPage.DisplayMessage(result); _clients.Add(aiClient); while (_clients.Count >= 2) { foreach (var client in _clients) { await client.Tick(); /*var writer = new DataWriter(client.NetworkClient.Socket.OutputStream); * writer.WriteString("Foobar"); * * await writer.StoreAsync(); */ } } } catch (Exception exception) { _rootPage.DisplayMessage(exception.Message); } }
public override void Initialize(AiClient client) { myHider = (Hider)client; base.Initialize(client); }
// Constructor public virtual void Initialize(AiClient client) { MyClient = client; }
public override void Initialize(AiClient client) { myHider = (Hider)client; target = myHider.Target.transform.position; base.Initialize(client); }
public float CalculateScore(AiClient client) { return(client.carController.carData.distanceDriven * 10 + 5); }
public OnActionChanged(AiClient origin, Action action) { Origin = origin; Action = action; }
public SpottingChanged(AiClient client, GameObject target) { Client = client; Target = target; }
public override void Initialize(AiClient client) { base.Initialize(client); mySeeker = (Seeker)MyClient; }