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>(); } }