protected override void DoReplace(Component srcComp, Type dstType) { OutLineDxx dxx = srcComp as OutLineDxx; if (dxx.enabled) { var dstComp = srcComp.gameObject.GetComponent(dstType); if (dstComp == null) { dstComp = srcComp.gameObject.AddComponent(dstType); OnReplace(srcComp, dstComp); } } DestroyImmediate(srcComp, true); }
protected override void OnReplace(Component srcComponent, Component dstComponent) { base.OnReplace(srcComponent, dstComponent); OutLineDxx dxx = srcComponent as OutLineDxx; OutlineEx ex = dstComponent as OutlineEx; if (dxx == null || ex == null) { return; } var color = dxx.effectColor; color.a = Mathf.Min(1, color.a * 5); ex.OutlineColor = color; ex.OutlineWidth = 2;//dxx.effectDistance.magnitude / 1.414f; ex.ShadowOffset = new Vector2(0, -5); }