Ejemplo n.º 1
0
        public void LaunchEffect(NodeAddedEvent evt, ShaftAimingWorkActivationReticleEffectNode weapon)
        {
            ShaftAimingReticleEffectComponent shaftAimingReticleEffect = weapon.shaftAimingReticleEffect;

            this.UpdateImageAlpha(0f, shaftAimingReticleEffect);
            shaftAimingReticleEffect.InstanceReticle.SetActive(true);
            shaftAimingReticleEffect.ReticleAnimator.SetFloat("Time", weapon.shaftEnergy.UnloadAimingEnergyPerSec);
        }
Ejemplo n.º 2
0
        public void UpdateEffectAlpha(UpdateEvent evt, ShaftAimingWorkActivationReticleEffectNode weapon)
        {
            float a = weapon.shaftAimingWorkActivationState.ActivationTimer / weapon.shaftStateConfig.ActivationToWorkingTransitionTimeSec;

            this.UpdateImageAlpha(a, weapon.shaftAimingReticleEffect);
            Vector3 barrelOriginWorld = new MuzzleLogicAccessor(weapon.muzzlePoint, weapon.weaponInstance).GetBarrelOriginWorld();
            float   z          = weapon.muzzlePoint.Current.transform.localPosition.z;
            Vector2 canvasSize = weapon.shaftAimingReticleEffect.CanvasSize;
            Vector2 vector5    = Camera.main.WorldToScreenPoint(barrelOriginWorld + (weapon.weaponInstance.WeaponInstance.transform.forward * z));
            Vector2 vector6    = new Vector2((vector5.x / ((float)Screen.width)) * canvasSize.x, (vector5.y / ((float)Screen.height)) * canvasSize.y);

            weapon.shaftAimingReticleEffect.DynamicReticle.localPosition = (Vector3)(vector6 - (canvasSize / 2f));
        }