private void DrawLine(INpcMessage rInfo, Transform targetPos) { if (!targetPos || !_lineRenderer || !(_lineEffect?.gameObject.activeInHierarchy ?? false)) { return; } var ps = GeneralConfigInfo.defaultConfig.lineParams; if (ps.Length < 1) { Logger.LogError("NpcGroup::DrawLine: GeneralConfigInfo.lineParams is null."); return; } var idx = rInfo.fetterStage < 0 ? 0 : rInfo.fetterStage >= ps.Length ? ps.Length - 1 : rInfo.fetterStage; var p = ps[idx]; _lineRenderer.startWidth = p.startWidth; _lineRenderer.endWidth = p.endWidth; _lineRenderer.startColor = p.startColor; _lineRenderer.endColor = p.endColor; _lineRenderer.useWorldSpace = true; _lineRenderer.SetPositions(new[] { targetPos.position, _lineEffect.transform.position }); }
private void Start() { if (effectNode == null) { effectNode = transform.GetComponent <Transform>("stars/thumb"); } if (lineLight == null) { lineLight = transform.GetComponent <LineRenderer>("stars/line/Particle System"); } actorRenderer = transform.GetComponent <ParticleSystemRenderer>("juese"); animEffect = transform.GetComponent <Transform>("juese/ani"); if (actorRenderer) { originColor = actorRenderer.sharedMaterial.GetColor(TintColor); highLightColor = new Color(originColor.r, originColor.g, originColor.b, 0.9f); // Logger.LogError($"{npcId} {originColor.ToString()} {highLightColor.ToString()}"); } animEffect.SafeSetActive(false); cameraData.node = this; npcInfo = Module_Npc.instance?.GetTargetNpc(npcId); starRoot?.SafeSetActive(false); previewSlider = new PreviewSlider(this, null); DrawGrayLine(); }
private void _Packet(ScNpcPerfusion msg) { moduleGlobal.UnLockUI(); INpcMessage npcInfo = GetTargetNpc((NpcTypeID)msg.npcId); npcInfo.starLv = msg.starLv; npcInfo.starExp = msg.startExp; DispatchEvent(NpcPerfusionChangeEvent); DispatchModuleEvent(Response_NpcPerfusionChange, msg); }
public void SetNpcInfo(INpcMessage rInfo, Transform targetPos) { if (rInfo == null) { return; } AssertInit(); AtlasHelper.SetShared(_icon, rInfo.icon); SetRelationShip(rInfo.fetterStage); DrawLine(rInfo, targetPos); }
public override bool Initialize(params object[] p) { var watcher = TimeWatcher.Watch("star panel init"); if (!base.Initialize(p)) { return(false); } _npcId = (NpcTypeID)p[0]; _npc = moduleNpc.GetTargetNpc(_npcId); AtlasHelper.SetAvatar(_headIcon, _npc?.icon); watcher.See("111"); excuteButton?.onClick.AddListener(OnExcute); RefreshUI(); watcher.See("222"); return(true); }
private void RefreshAttribute() { //TODO 通过NpcId获得Npc信息 INpcMessage npc = moduleNpc.GetTargetNpc(_npcId); if (null == npc) { return; } Util.ClearChildren(_attributeRoot); var info = ConfigManager.Get <NpcInfo>((int)_npcId); for (var i = 0; i < info.attributes.Length; i++) { var t = _attributeRoot.AddNewChild(_templete); t.SafeSetActive(true); using (var binder = new RelationShipAttribute() { name = t.GetComponent <Text>(), relationShip = t.GetComponent <Text>("relaiton"), value = t.GetComponent <Text>("left_txt") }) { binder.Bind(i, !npc.isUnlockEngagement || npc.fetterStage < i, info.attributes[i]); } } using (var binder = new RelationShipAttribute() { value = _desc }) { var index = info.attributes.Length; binder.Bind(index, npc.fetterStage < index, ConfigManager.Get <BuffInfo>(info.constellationBuff), npc.starLv); } }