Пример #1
0
    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");
        }
    }
Пример #2
0
        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;
            }
        }
Пример #3
0
        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);
            }
        }