void Start() { stdAttributes = this.GetComponent <Civilian>(); spRender = this.GetComponent <SpriteRenderer>(); Green = Resources.Load <Sprite>("Art/SatGreen"); Red = Resources.Load <Sprite>("Art/SatRed"); }
public async Task Resync(bool skipTime) { if (((DateTime.Now - LastSyncTime).Seconds < 5 || IsCurrentlySyncing) && !skipTime) { MessageBox.Show($"You must wait 5 seconds before the last sync time \nSeconds to wait: {5 - (DateTime.Now - LastSyncTime).Seconds}", "DispatchSystem", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } LastSyncTime = DateTime.Now; IsCurrentlySyncing = true; if (string.IsNullOrWhiteSpace(firstNameView.Text) || string.IsNullOrWhiteSpace(lastNameView.Text)) { return; } Tuple <NetRequestResult, Civilian> result = await Program.Client.TryTriggerNetFunction <Civilian>("GetCivilian", data.First, data.Last); if (result.Item2 != null) { Invoke((MethodInvoker) delegate { data = result.Item2; UpdateCurrentInformation(); }); } else { MessageBox.Show("That name doesn't exist in the system!", "DispatchSystem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } IsCurrentlySyncing = false; }
private async Task UpdateCivilian(NetRequestHandler handler, object[] objs) { if (!Config.HasPerm(handler.IP, Permission.Civ)) { return; } Civilian civilian = (Civilian)objs[0]; if (civilian == null) { Config.Log.WriteLine("UpdatedCivilianLog", handler.IP, Log.Status.Failed, "null Civilian"); } else if (Civilians.Value.ContainsKey(civilian.ID)) { List <Ticket> tickets = Civilians.Value[civilian.ID].Tickets; Civilians.Value[civilian.ID] = civilian; Civilians.Value[civilian.ID].Tickets = tickets; Config.Log.WriteLine("UpdatedCivilianLog", handler.IP, Log.Status.Succeeded, civilian); } else { Civilians.Value.Add(civilian); Config.Log.WriteLine("SavedCivilianLog", handler.IP, Log.Status.Succeeded, civilian); } await Task.FromResult(0); }
private Vector2 GetAvoidVector(Civilian npc, List <Entity> entities) { var avoid = new Vector2(); var count = 0; foreach (Entity o in entities) { var dir = (npc.Position - o.Position); var dist = dir.Length(); if (dist < 20f && dist > 0) { avoid += dir / (float)Mathf.Pow(dist, 5); count++; } } if (count != 0) { avoid /= count; } if (avoid.Length() > 0) { avoid.Normalize(); } else { avoid = Vector2.Zero; } return(avoid); }
private void attack() { attacking = true; attackCooldownTimer = attackCooldown; midSection_attack.SetActive(true); head_attack.SetActive(true); midSection.SetActive(false); head.SetActive(false); Collider2D[] colliders; Vector2 attackPoint = new Vector2(); Vector3 attackPoint3 = transform.position + (transform.right * 0.75f); attackPoint.x = attackPoint3.x; attackPoint.y = attackPoint3.y; //transform.position = attackPoint3; if ((colliders = Physics2D.OverlapCircleAll(attackPoint, 0.5f)).Length > 1) { foreach (var collider in colliders) { if (collider.transform.GetComponent <Player>() != null) { Player player = (Player)collider.transform.GetComponent <Player>(); player.induceRage(10); } if (collider.transform.GetComponent <Civilian>() != null) { Civilian civilian = (Civilian)collider.transform.GetComponent <Civilian>(); civilian.damage(50); } } } }
private async Task <object> TicketCivilian(NetRequestHandler handler, object[] objs) { if (!Config.HasPerm(handler.IP, Permission.Police)) { return(false); } uint civilianID = (uint)objs[0]; if (Civilians.Value.ContainsKey(civilianID)) { Civilian civilian = Civilians.Value[civilianID]; Ticket ticket = (Ticket)objs[1]; civilian.Tickets.Add(ticket); Config.Log.WriteLine("TicketedCivilianLog", handler.IP, Log.Status.Succeeded, civilianID.ToSplitID()); return(true); } Config.Log.WriteLine("TicketedCivilianLog", handler.IP, Log.Status.Failed, civilianID.ToSplitID()); await Task.FromResult(0); return(false); }
private Vector2 GetAvoidVector(Civilian npc, List <Entity> entities) { var avoidVector = new Vector2(); var nearbyCivilians = 0; foreach (Entity o in entities) { var dir = (npc.Position - o.Position); var dist = dir.Length(); if (dist < 20f && dist > 0) { avoidVector += dir / (float)Mathf.Pow(dist, 5); nearbyCivilians++; } } if (nearbyCivilians != 0) { avoidVector /= nearbyCivilians; } if (avoidVector.Length() > 0) { avoidVector.Normalize(); } else { avoidVector = Vector2.Zero; } return(avoidVector); }
public Navigator(GameState game, Civilian civilian) { this.game = game; this.civilian = civilian; this.initializePosition(); }
private async Task AddNote(ConnectedPeer sender, object[] args) { await Task.FromResult(0); if (CheckAndDispose(sender)) { return; } #if DEBUG Log.WriteLine($"[{sender.RemoteIP}] Add Civilian note Request Recieved"); #else Log.WriteLineSilent($"[{sender.RemoteIP}] Add Civilian note Request Recieved"); #endif string[] name = { (string)args[0], (string)args[1] }; string note = (string)args[2]; Civilian civ = Common.GetCivilianByName(name[0], name[1]); if (civ != null) { #if DEBUG Log.WriteLine($"[{sender.RemoteIP}] Adding the note \"{note}\" to Civilian {civ.First} {civ.Last}"); #else Log.WriteLineSilent($"[{sender.RemoteIP}] Adding the note \"{note}\" to Civilian {civ.First} {civ.Last}"); #endif civ.Notes.Add(note); } else #if DEBUG { Log.WriteLine($"[{sender.RemoteIP}] Civilian not found, not adding note..."); } #else { Log.WriteLineSilent($"[{sender.RemoteIP}] Civilian not found, not adding note..."); } #endif }
private async Task AddNote(ConnectedPeer sender, BareGuid id, string note) { await Task.FromResult(0); #if DEBUG Log.WriteLine($"[{sender.RemoteIP}] Add Civilian note Request Received"); #else Log.WriteLineSilent($"[{sender.RemoteIP}] Add Civilian note Request Received"); #endif Civilian civ = DispatchSystem.Civs.FirstOrDefault(x => x.Id == id); // finding the civ from the id if (civ != null) { #if DEBUG Log.WriteLine($"[{sender.RemoteIP}] Adding the note \"{note}\" to Civilian {civ.First} {civ.Last}"); #else Log.WriteLineSilent($"[{sender.RemoteIP}] Adding the note \"{note}\" to Civilian {civ.First} {civ.Last}"); #endif civ.Notes.Add(note); // adding the note for the civilian } else #if DEBUG { Log.WriteLine($"[{sender.RemoteIP}] Civilian not found, not adding note..."); } #else { Log.WriteLineSilent($"[{sender.RemoteIP}] Civilian not found, not adding note..."); } #endif }
void Start() { stdAttributes = this.GetComponent<Civilian>(); spRender = this.GetComponent<SpriteRenderer>(); Green = Resources.Load<Sprite>("Art/SatGreen"); Red = Resources.Load<Sprite>("Art/SatRed"); }
void SetUp() { //Sets up the simulation. mapSizeX = 100; mapSizeY = 25; int numCops = 5; int numRobbers = 5; int numCivilians = 10; Random rnd = new Random(); List <Person> citizens = new List <Person>(); List <Robber> prison = new List <Robber>(); //Populate the City. for (int i = 0; i < numCops; i++) { Cop cop = new Cop(rnd.Next(mapSizeX), rnd.Next(mapSizeY)); citizens.Add(cop); } for (int i = 0; i < numRobbers; i++) { Robber robber = new Robber(rnd.Next(mapSizeX), rnd.Next(mapSizeY)); citizens.Add(robber); } for (int i = 0; i < numCivilians; i++) { Civilian civilian = new Civilian(rnd.Next(mapSizeX), rnd.Next(mapSizeY)); citizens.Add(civilian); } Simulate(citizens, prison); }
public static async void InitializeEmergency(string handle) { Player p = GetPlayerByHandle(handle); if (GetEmergencyCall(handle) != null) { SendMessage(p, "DispatchSystem", new[] { 0, 0, 0 }, "You already have a 911 call!"); return; } if (GetCivilian(handle) != null) { Civilian civ = GetCivilian(handle); if (server.ConnectedDispatchers.Length == 0) { SendMessage(p, "DispatchSystem", new[] { 0, 0, 0 }, "It seems like there is no connected dispatchers at this moment!"); return; } EmergencyCall call; currentCalls.Add(call = new EmergencyCall(p.Identifiers["ip"], $"{civ.First} {civ.Last}")); SendMessage(p, "Dispatch911", new[] { 255, 0, 0 }, "Please wait for a dispatcher to respond"); foreach (var peer in server.ConnectedDispatchers) { await peer.TriggerNetEvent("911alert", civ, call); } } else { SendMessage(p, "DispatchSystem", new[] { 0, 0, 0 }, "You must set your name before start a 911 call"); } }
public override void OnEnter(Civilian theCivilian) { transitions = new List <Transition>(); civilian = theCivilian; moveSpeed = civilian.moveSpeed * 2; moveRate = civilian.moveRate / 2; }
public void SpawnRandomCivilian() { List <Route> RandomRoutes; Random random = new Random(); Transform spawn_pos; int count = RoutesManager.Instance.Routes.Count; /* Selects random routes from RouteManager */ RandomRoutes = RoutesManager.Instance.GetChilds() .OrderBy(x => Random.Range(0, count)) .Take(SpawnNumber) .ToList(); /* Initlaize new route values and spawn the civilian */ foreach (Route route in RandomRoutes) { if (!route.Occupied) { /* Randomlly pick a civilian */ Civilian tmp = Civilian [Random.Range(0, 2)]; /* Mark the route as occupied */ route.Occupied = true; /* Assign the random route the civilian will take*/ tmp.route = route; /* Assign a random patrol speed to the civilian */ tmp.PatrolSpeed = Random.Range(0, MaxPatrolSpeed); tmp.PauseDuration = Random.Range(0, 1f); /* Spawn position will be the first waypoint in the route */ spawn_pos = route.Waypoints[0]; /* Spawn civilian at destination as the child of this class */ Civilian child = null; try { child = Instantiate(tmp, spawn_pos.position, spawn_pos.rotation) as Civilian; if (child != null) { child.transform.parent = transform; } else { route.Occupied = false; } } catch (System.Exception) { if (child != null) { child.transform.parent = transform; } route.Occupied = false; } } } }
public CivView(Civilian civData) { Icon = Icon.ExtractAssociatedIcon("icon.ico"); InitializeComponent(); data = civData; UpdateCurrentInformation(); }
private static async Task Alert911(ConnectedPeer peer, Civilian civ, EmergencyCall call) { await Task.FromResult(0); mainWindow.Invoke((MethodInvoker) delegate { new Accept911(civ, call).Show(); }); }
public override void OnEnter(Civilian theCivilian) { civilian = theCivilian; transitions = new List <Transition> { //new LockDownTransition(civilian) }; }
public CivilianController(GameState game, Civilian civilian) { this.Game = game; this.Civilian = civilian; this.Navigator = new Navigator(game, civilian); this.start <IdleWalkBehaviour>(); }
public static Civilian Birth(Civilian a, Civilian b) { Civilian c = new Civilian(); c.topo = Crossing(a.topo, b.topo); c.topo.Mutation(); c.pheno = new Phenotype(c.topo); return(c); }
// Update is called once per frame public override void Update() { base.Update(); if (Vector3.SqrMagnitude(transform.position - Map.Instance.Cursor.transform.position) < nerfDistanceSquare) { RunSpeed = 0; } else { RunSpeed = baseRunSpeed; } var distanceCiv = Vector3.SqrMagnitude(civLocation - transform.position); var distanceCursor = Vector3.SqrMagnitude(Map.Instance.Cursor.transform.position - transform.position); if (distanceCursor > cursorToleranceSquare || distanceCiv > 100 * 100) { lover = null; } if (Health <= 0) { Splat(); if (Time.realtimeSinceStartup - lastDeathScream > 3) { lastDeathScream = Time.realtimeSinceStartup; int index = Random.Range(0, DeathSounds.Length); audio.volume = 0.3f; audio.PlayOneShot(DeathSounds[index]); } collider.enabled = false; Map.Instance.aliveZombies--; GameObject.Destroy(gameObject); return; } var inf = Map.Instance.Cursor.transform.position; if (lover != null) { inf = civLocation; } inf.y = 0; AddInfluence(inf, zombieAttraction); maxInfluenceStrength *= focus; Vector3 normalizedVelocity = (influence - rigidbody.position).normalized; rigidbody.velocity = normalizedVelocity * RunSpeed; transform.forward = normalizedVelocity; Atrophy(); }
private void OnTriggerEnter(Collider t) { if (!t.CompareTag("Civilian")) { return; } lover = t.GetComponent <Civilian>(); civLocation = lover.transform.position; }
public override void TargetedBy(Civilian shooter) { if (_target == null || _target != shooter) { _target = shooter; EmotionalState = NpcEmotion.Aggresive; State = NpcPhysicalState.Attacking; } }
public void Evolution(System.IO.StreamWriter file) { Civilian a = Pick(100); Civilian b = Pick(100); Civilian x = Birth(a, b); this.pop[0] = x; x.evaluate(file); Array.Sort(pop); }
public CivView(Civilian civData) { Icon = Icon.ExtractAssociatedIcon("icon.ico"); InitializeComponent(); data = civData; SkinManager.AddFormToManage(this); UpdateCurrentInformation(); }
static void Main(string[] args) { Civilian visitor1 = new Civilian("Антон Бурмистров", "05.06.2000", "М", "M4A1", true); Military visitor2 = new Military("Максим Пентешихин", "15.05.1995", "М", "AK-47"); Civilian visitor3 = new Civilian("Анна Шеховцова", "24.02.1988", "Ж", "USP", false); ShootingGallery shootingGallery = new ShootingGallery(); shootingGallery.GetGun(visitor1); shootingGallery.GetGun(visitor2); shootingGallery.GetGun(visitor3); }
void OnTriggerEnter(Collider col) //when something enters the trigger { if (col.GetComponent <Civilian>()) //if the collider is a civilian... { Civilian civ = col.GetComponent <Civilian>(); if (civ.currentState == State.ALERTED || civ.currentState == State.WITNESS) //and if they are in a panicked state... { Destroy(col.gameObject); //"save" the civilian } } }
private void CheckSensors() { if (sensor.Contact != null) { if (sensor.Contact.GetComponentInParent <Civilian>() != null) { Civilian civilian = sensor.Contact.GetComponentInParent <Civilian>(); civilian.PullOver(transform.position); } } }
public void CivilianKilled(Civilian c) { if (_localPopulation.Contains(c)) { _localPopulation.Remove(c); if (LocalPopulation == 0 && _assignedMarshal != null) { _assignedMarshal.ReturnHome(); } } }
public Accept911(Civilian requester, EmergencyCall call) { Icon = Icon.ExtractAssociatedIcon("icon.ico"); InitializeComponent(); civ = requester; this.call = call; information.Text = $"Incoming call from {requester.First} {requester.Last} for an UNKNOWN reason..."; SetForegroundWindow(Handle); }
public void KillCiv(Civilian civ) { CurrentGameState.Dradis.RemoveComponent(civ); var modifiedCiv = CurrentGameState.Civilians.FindIndex(x => x.PermanentDesignation == civ.PermanentDesignation); if (modifiedCiv == -1) { return; } CurrentGameState.Civilians[modifiedCiv].Status = ComponentStatus.Destroyed; }
public IEnumerator StartCivFall(Civilian civ) { //PlayerController.Instance.m_MoveIsBlocked = true; //m_playerPosition = PlayerController.Instance.transform.position + (transform.position - PlayerController.Instance.transform.position).normalized * 0.5f; //yield return null; civ.Stop(); SoundManager.instance.PlaySingle(fallSound); float time = 0.0f; while(time < 1.0f) { time += Time.deltaTime; civ.transform.localScale = Vector3.one * (1.0f - time); //PlayerController.Instance.transform.position = m_playerPosition; yield return null; } civ.gameObject.SetActive (false); }
public void AddCivilian (Civilian civilian) { mut.WaitOne(); if(!civilian.isInCrowd && civilian.isAlive) { if(crowd.Count <= 0) { crowd.Add (new List<Civilian> ()); } if(crowd [crowd.Count - 1].Count >= maxInCircle) //Jeśli krąg jest zapełniony dodaj, dodaj nowy krąg crowd.Add (new List<Civilian> ()); List<Civilian> currentCircle = crowd [crowd.Count - 1]; currentCircle.Add (civilian); civilian.distanceToPlayer = baseDistance * crowd.Count; civilian.state = Civilian.CivilState.FollowingPlayer; civilian.offset = new Vector3(Random.Range (-baseDistance * crowd.Count, baseDistance * crowd.Count), 0, Random.Range (-baseDistance * crowd.Count, baseDistance * crowd.Count)); civilian.isInCrowd = true; } mut.ReleaseMutex (); }
public void removeCivilian(Civilian civilian) { mut.WaitOne(); foreach (List<Civilian> circle in crowd) { foreach (Civilian person in circle) { if(person.isAlive == civilian) { circle.Remove(civilian); NewGHhostCivilian (); return; } } } mut.ReleaseMutex (); }