private void MoveMonsterArea() { MapTransferRecord mapTransferRecord = null; var distance = -1.0f; Table.ForeachMapTransfer(record => { if (record.SceneID != SceneId || record.Type != 2) { return(true); } var dis = Vector2.Distance( new Vector2(MainPlayer.Position.x, MainPlayer.Position.z), new Vector2(record.PosX, record.PosZ)); if (!(distance < 0.0f) && !(distance > dis)) { return(true); } mapTransferRecord = record; distance = dis; return(true); }); if (mapTransferRecord != null) { var pos = new Vector3(mapTransferRecord.PosX, 0, mapTransferRecord.PosZ); mTargetPostion = pos; StartMove(); } else { CancelLoop(); //Logger.Error("MoveMonsterArea error not find"); } }
private void SetSprite(MapTransferRecord record, SceneNpcDataModel npcData, int myCamp) { var _iconId = (record.Camp == myCamp || record.LiveIcon2 == -1) ? record.LiveIcon : record.LiveIcon2; var _tbIcon = Table.GetIcon(_iconId); if (_tbIcon != null) { npcData.Atlas = _tbIcon.Atlas; npcData.SpriteName = _tbIcon.Sprite; } switch (npcData.CharType) { case 8: case 9: npcData.Color = record.Camp == myCamp ? MColor.green : MColor.red; break; } }
public override void OnPlayerEnterOver(ObjPlayer player) { if (player == null) { return; } base.OnPlayerEnterOver(player); //sceneID = player.GetData().SceneId; //if(sceneID == 22000) //{ // PlayerEnterCost = Table.GetServerConfig(3003).ToInt(); //} //else if(sceneID == 22001) //{ // PlayerEnterCost = Table.GetServerConfig(3004).ToInt(); //} //CoroutineFactory.NewCoroutine(GetPlayerDia, player.ObjId, PlayerEnterCost).MoveNext(); MapTransferRecord MapTransfer = new MapTransferRecord(); TimerState outValue = null; if (StateDic.TryGetValue(player.ObjId, out outValue)) { StateDic[player.ObjId].state = 1; StateDic[player.ObjId].time = DateTime.MaxValue; } else { StateDic.Add(player.ObjId, new TimerState(1)); } DateTime outData; if (StayTimeDic.TryGetValue(player.ObjId, out outData)) { StayTimeDic[player.ObjId] = DateTime.Now; } else { StayTimeDic.Add(player.ObjId, DateTime.Now); } }