public override void OnEvent(PlayerFlashed evnt) { if (entity.IsOwner) { GuiManager.Flashed(); } }
private IEnumerator Explode() { yield return(new WaitForSeconds(ExplosionTime)); Collider[] hits = Physics.OverlapSphere(transform.position, Range); foreach (Collider hit in hits) { if (hit.GetComponent <Rigidbody>() != null) { hit.GetComponent <Rigidbody>().AddExplosionForce(ExplosionForce, transform.position, Range, 0f); } if (hit.transform.tag == "Player") { RaycastHit Hit; Physics.Linecast(transform.position, hit.transform.position, out Hit, Mask); Debug.Log(Hit.transform.tag); if (Hit.transform.tag == "Player") { Debug.Log(Vector3.Distance(transform.position, hit.transform.position)); float Distance = Vector3.Distance(transform.position, hit.transform.position); switch (Type) { case "frag": var Event = DamageEvent.Create(hit.GetComponent <BoltEntity>()); Event.Damage = BaseDamage / Mathf.RoundToInt(Distance); Event.Player = Throwed; Event.Send(); break; case "flash": var EventFlashed = PlayerFlashed.Create(hit.GetComponent <BoltEntity>()); EventFlashed.Send(); break; } } } } SpawnFX(); }
internal PlayerFlashed AssembleFlashPlayer(DemoInfo.Player p) { PlayerFlashed player = new PlayerFlashed { Playername = p.Name, player_id = p.SteamID, Position = new Point3D(p.Position.X, p.Position.Y, p.Position.Z), Velocity = new Velocity { VX = p.Velocity.X, VY = p.Velocity.X, VZ = p.Velocity.X }, Facing = new Facing { Yaw = p.ViewDirectionX, Pitch = p.ViewDirectionY }, HP = p.HP, IsSpotted = p.IsSpotted, Team = p.Team.ToString(), Flashedduration = p.FlashDuration }; return(player); }