Beispiel #1
0
        public static float BlendMine(MineConfigComponent config, EffectInstanceComponent effectInstance, EffectRendererGraphicsComponent effectRendererGraphics, HullInstanceComponent selfTankHullInstance)
        {
            float num       = 1f;
            float magnitude = (selfTankHullInstance.HullInstance.transform.position - effectInstance.GameObject.transform.position).magnitude;

            if (magnitude > config.BeginHideDistance)
            {
                num = 1f - Math.Min((float)1f, (float)((magnitude - config.BeginHideDistance) / config.HideRange));
            }
            effectRendererGraphics.Renderer.enabled = num > 0f;
            return(num);
        }
        public void ActivationEffect(TimeUpdateEvent e, MineActivationNode mine)
        {
            MineConfigComponent mineConfig = mine.mineConfig;
            float num  = UnityTime.time - mine.mineActivationGraphics.ActivationStartTime;
            float num2 = num / (MINE_ACTIVATION_TIME * 0.5f);

            if (num2 > 1f)
            {
                num2 = Math.Max((float)0f, (float)(2f - num2));
            }
            Material material = mine.effectRendererGraphics.Renderer.material;

            material.SetColor("_Color", MINE_ACTIVATION_COLOR);
            material.SetFloat("_ColorLerp", num2);
            if (num > MINE_ACTIVATION_TIME)
            {
                mine.Entity.RemoveComponent <MineActivationGraphicsComponent>();
            }
        }