/// <summary> /// 单击节点显示详情 /// </summary> /// <param name="p1"></param> /// <param name="p2"></param> void OnStateNodeClicked(object p1, object p2) { int nodeId = (int)p1; BaseStageNode node = _stageConfig.GetNode(nodeId); if (node.IsPassed) { return; } if (node.HiddenDetail) { EventSys.Instance.AddEvent(ViewEvent.ShowNodeUnKnow, nodeId); return; } Type type = node.GetType(); if (type == typeof(StageNodeFight)) { Enemy e = FightDataMgr.Instance.GetEnemy(nodeId); EventSys.Instance.AddEvent(ViewEvent.ShowNodeFightDetails, e.CreatureData, nodeId); } else if (type == typeof(StageNodeReward)) { Reward r = FightDataMgr.Instance.GetReward(nodeId); EventSys.Instance.AddEvent(ViewEvent.ShowNodeRewardDetails, r, nodeId); } else if (type == typeof(StageNodeHidden)) { } else if (type == typeof(StageNodeSafe)) { EventSys.Instance.AddEvent(ViewEvent.ShowNodeSafeDetails, nodeId); } }
void OnFightDragAllOnNode(object p1, object p2) { int fromNodeId = (int)p1; int targetNodeId = (int)p2; StageNodeSafe fromNode = (StageNodeSafe)_stageConfig.GetNode(fromNodeId); BaseStageNode targetNode = _stageConfig.GetNode(targetNodeId); if (!fromNode.NextNodes.Contains(targetNodeId)) { EventSys.Instance.AddEvent(ViewEvent.ShowTipNotNextNode); return; } if (targetNode.GetType() != typeof(StageNodeFight)) { EventSys.Instance.AddEvent(ViewEvent.ShowTipNotSupportYet); return; } switch (_fState) { case FSubState.SelectHero: break; case FSubState.Mapping: List <int> heros = new List <int>(); foreach (var pair in FightDataMgr.Instance.GetHeros()) { if (pair.Value.NowNodeId == fromNode.Id) { heros.Add(pair.Value.Id); } } EventSys.Instance.AddEvent(LogicEvent.StartFightRound, heros.ToArray(), targetNodeId); break; } }