Exemplo n.º 1
0
        private void OnPacketPlayerFireWeapon(ref PlayerFireWeapon p)
        {
            PlayerClient player = playersByIndex[p.Index];

            if (player == null)
            {
                return;
            }
            if (player.Connection != p.SenderConnection)
            {
                throw new InvalidOperationException();
            }

            Vector3    initialPos = p.InitialPos;
            Vector3    gunspotPos = p.GunspotPos;
            float      angle      = p.Angle;
            WeaponType weaponType = p.WeaponType;

            Player proxyActor = player.ProxyActor;

            Await.NextUpdate().OnCompleted(() => {
                if (proxyActor == null)
                {
                    return;
                }

                proxyActor.LastInitialPos = initialPos;
                proxyActor.LastGunspotPos = gunspotPos;
                proxyActor.LastAngle      = angle;

                proxyActor.FireWeapon(weaponType);
            });
        }
Exemplo n.º 2
0
#pragma warning restore


    private void Awake()
    {
        _myEngine   = GetComponent <PlayerEngine>();
        _myAnim     = GetComponentInChildren <Animator>();
        _myWeapon   = GetComponentInChildren <PlayerFireWeapon>();
        _myMovement = GetComponent <PlayerMovement>();
    }