public void TransformSync(TransformSync message)
 {
     _time      = 0;
     _prevrbpos = _newrbpos;
     _prevrbrot = _newrbrot;
     _newrbpos  = message.Position;
     _newrbrot  = message.Rotation;
 }
 public void UpdateRigidbody(TransformSync sync, float duration)
 {
     if (!_objectViews.ContainsKey(sync.ObjectId))
     {
         return;
     }
     _objectViews.TryGetValue(sync.ObjectId, out ObjectView objectRepresentation);
     objectRepresentation.TransformSync(sync);
 }
Ejemplo n.º 3
0
    private static void Crystal_Green_Red(Transform reactionist)
    {
        // Particles and instanziation

        ParticleSystem crystalParticles = Instantiate(inst.crystalNonPlayerPrefab, reactionist.position, Quaternion.identity, inst.transform)
                                          .GetComponent <ParticleSystem>();

        if (reactionist.CompareTag(Global.NeutralTag))
        {
            Destroy(crystalParticles.gameObject, inst.crystalDurationNonPlayer);
        }
        else
        {
            TransformSync transformSync = crystalParticles.gameObject.AddComponent <TransformSync>() as TransformSync;
            transformSync.SyncTransform = reactionist;
            Physics.IgnoreCollision(reactionist.GetComponent <Collider>(), crystalParticles.GetComponent <Collider>());

            reactionist.GetComponent <Controller>().Freeze(crystalParticles.main.duration);

            if (reactionist.CompareTag(Global.PlayerTag))
            {
                Destroy(crystalParticles.gameObject, inst.crystalDurationPlayer);
            }
            else
            {
                Destroy(crystalParticles.gameObject, inst.crystalDurationNonPlayer);
            }
        }
        crystalParticles.Play();

        // Freezing

        SphereCollider crystalArea = crystalParticles.GetComponent <SphereCollider>();

        Collider[] frozenCollider = Physics.OverlapSphere(crystalArea.transform.position, crystalArea.radius);

        for (int index = 0; index < frozenCollider.Length; index++)
        {
            if (reactionist.IsAnyTag(inst.Effected))
            {
                reactionist.GetComponent <Controller>().Freeze(crystalParticles.main.duration);
            }
        }
    }
Ejemplo n.º 4
0
 public void SendUpdate(TransformSync transformSync)
 {
     client.SendTransform(transformSync.InstanceId, transformSync.gameObject);
 }
Ejemplo n.º 5
0
 public void UnregisterTransformSync(TransformSync transformSync)
 {
     syncTargets.Remove(transformSync.InstanceId);
 }
Ejemplo n.º 6
0
 public void RegisterTransformSync(TransformSync transformSync)
 {
     syncTargets.Add(transformSync.InstanceId, transformSync);
 }