예제 #1
0
파일: Player.cs 프로젝트: IkariAtari/Omega
 public override void OnEvent(PlayerFlashed evnt)
 {
     if (entity.IsOwner)
     {
         GuiManager.Flashed();
     }
 }
예제 #2
0
    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();
    }
예제 #3
0
        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);
        }