public void tune_out_ai(AI_generic listener) { if (!tune_in_ais.Contains(listener)) { return; } listener.tuned_in = false; tune_in_ais.Remove(listener); }
public void tune_in_ai(AI_generic listener) { if (tune_in_ais.Contains(listener)) { return; } listener.tuned_in = true; tune_in_ais.Add(listener); }
public void assign_random_weapon(GameObject npc) { int index = 0; AI_generic _npc = npc.GetComponent <AI_generic>(); _npc.ammo_drop_count = 0; if (equip_template != null && equip_template.Count > 0) { //Randomize weapon type int seed_equip = Random.Range(0, 100); for (int i = 0; i < equip_template.Count; i++) { if (seed_equip > equip_template[i].Value) { seed_equip -= equip_template[i].Value; } else { index = i; break; } } /* * //Spawn weapon * Transform weapon_bone = npc.GetComponent<Body_generic>().weapon_bone.transform; * GameObject equip = Instantiate(equip_template[index].Key, weapon_bone.position, weapon_bone.rotation); * NetworkServer.Spawn(equip); * Gun_generic gun = equip.GetComponent<Gun_generic>(); * //Give ammo type * if (gun.ammo_template != null) * { * int seed = Random.Range(0, 100); * if (seed < CONSTANTS.NPC_DROP_CHANCE * 100) * { * _npc.ammo_drop_count = gun.ammo_template.GetComponent<Ammo_generic>().amount * 2; * * } * _npc.ammo_drop_template = gun.ammo_template; * } * //Npc pick up * _npc.Pickup_item(equip); */ //_npc.request_weapon(equip_template[index].Key); } }
string get_weapon_name(GameObject subject) { if (subject.GetComponent <Body_generic>().isPlayer) { Player_controller player = subject.GetComponent <Player_controller>(); if (player.equiped_item == null) { return("nothing"); } return(subject.GetComponent <Player_controller>().equiped_item.name); } AI_generic ai = subject.GetComponent <AI_generic>(); if (ai.equiped_item == null) { return("nothing"); } return(subject.GetComponent <AI_generic>().equiped_item.name); }
void Update() { int process_count = process_thredshold; while (pathRequestQueue.Count > 0 && process_count > 0)//something missing here? { process_count -= 1; for (int i = 0; i < area_dict.Count; i++) { area_dict[i].initialize(); } GameObject ai_obj = pathRequestQueue.Dequeue(); if (ai_obj != null) { AI_generic ai = ai_obj.GetComponent <AI_generic>(); GameObject destine = null; if (ai_obj != null) { //addition code here destine = ai.navtoobj; float target_size = -1; Vector2 destine_location = ai.navtopos; if (destine != null && destine.GetComponent <Body_generic>() != null)//if target doesnt have size (preset locations etc.) { target_size = destine.GetComponent <Body_generic>().size; } //Navigate if (destine_location != CONSTANTS.VEC_NULL) { ai.path = Astar_algorithm(ai_obj.transform.position, destine_location, -1, -1); //Debug.DrawLine(ai.transform.position, ai.path[0].position, Color.white, 10); //Debug.DrawLine(ai.path[0].position, destine_location, Color.white, 10); ai.path_index = 0; } } } } }