void Update() { if (beginMovement && target != null) { if (photonView.isMine) { if (MoveTowardsTarget(target, 0.2f)) { if (impactParticle != null) { GameObject impact = PhotonNetwork.Instantiate(impactParticle.name, target.position, Quaternion.identity, 0) as GameObject; CardVFX impactVFX = impact.GetComponent <CardVFX>(); impactVFX.Initialize(targetCard, false, false); //impactVFX.photonView.RPC("RPCInitialize", PhotonTargets.Others, 0); RPCSendImpactEvent(PhotonTargets.Others); SendImpactEvent(); Invoke("NetworkCleanup", 0.3f); //Destroy(gameObject, 0.5f); } } } } if (!photonView.isMine) { if (active) { //transform.position = Vector3.Lerp(transform.position, position, Time.deltaTime * lerpSmoothing); transform.position = Vector3.MoveTowards(transform.position, position, moveSpeed); } } }//End of Update
protected override IEnumerator DisplayDeathEffect() { if (currentDeck.decktype != Constants.DeckType.Battlefield) { yield return(null); } yield return(new WaitForSeconds(0.7f)); GameObject deathVFX; bool hasDeathEffect = string.IsNullOrEmpty(deathEffect); if (!hasDeathEffect) { deathVFX = PhotonNetwork.Instantiate(deathEffect, battleToken.incomingEffectLocation.position, Quaternion.identity, 0) as GameObject; } else { deathVFX = PhotonNetwork.Instantiate("VFX_NecroticFlash", battleToken.incomingEffectLocation.position, Quaternion.identity, 0) as GameObject; } if (deathVFX != null) { CardVFX cardVFX = deathVFX.GetComponent <CardVFX>(); cardVFX.Initialize(this, false, false); } }
public void LaunchVFX(CreatureCardVisual damageDealer, CreatureCardVisual damageTaker) { GameObject atkVFX; if (damageDealer.cardData.movingVFX) { atkVFX = PhotonNetwork.Instantiate(damageDealer.attackEffect, damageDealer.transform.position, Quaternion.identity, 0) as GameObject; } else { atkVFX = PhotonNetwork.Instantiate(damageDealer.attackEffect, damageTaker.transform.position, Quaternion.identity, 0) as GameObject; } CardVFX vfx = atkVFX.GetComponent <CardVFX>(); if (vfx.photonView.isMine) { vfx.Initialize(damageTaker, damageDealer.cardData.movingVFX); if (damageDealer.cardData.movingVFX) { atkVFX.transform.SetParent(damageDealer.transform, false); atkVFX.transform.localPosition = Vector3.zero; //vfx.target = damageTaker.battleToken.incomingEffectLocation; //vfx.beginMovement = true; } else { atkVFX.transform.SetParent(damageTaker.battleToken.incomingEffectLocation, false); atkVFX.transform.localPosition = Vector3.zero; } } vfx.RPCSetVFXAciveState(PhotonTargets.Others, true); }
protected override IEnumerator DisplayDeathEffect() { yield return(new WaitForSeconds(0.7f)); GameObject deathVFX; if (deathEffect != "") { deathVFX = PhotonNetwork.Instantiate(deathEffect, supportToken.incomingEffectLocation.position, Quaternion.identity, 0) as GameObject; } else { deathVFX = PhotonNetwork.Instantiate("VFX_NecroticFlash", supportToken.incomingEffectLocation.position, Quaternion.identity, 0) as GameObject; } if (deathVFX != null) { CardVFX cardVFX = deathVFX.GetComponent <CardVFX>(); cardVFX.Initialize(this, false, false); } }