Exemple #1
0
        public override void AfterPlayerEnterOver(ObjPlayer player)
        {
            if (player.IsDead())
            {
                player.Relive();
            }
            else
            {
                player.Attr.SetDataValue(eAttributeType.HpNow, player.Attr.GetDataValue(eAttributeType.HpMax));
                player.Attr.SetDataValue(eAttributeType.MpNow, player.Attr.GetDataValue(eAttributeType.MpMax));
            }

            if (mPlayerInfo.ContainsKey(player.ObjId))
            {
                return;
            }

            mPlayerInfo.Add(player.ObjId, player.GetName());
            mPlayers.Add(player);

            // 限制buff
            player.AddBuff(3001, 1, player);
            // 同步位置
            player.SyncCharacterPostion();

            if (Trggers[(int)eDungeonTimerType.WaitStart] == null)
            {
                StartTimer(eDungeonTimerType.WaitStart, DateTime.Now.AddSeconds(5), TimeOverStart);
            }
            NotifyDungeonTime(player, eDungeonTimerType.WaitStart);

            OnTriggerStartWarn(player);
        }
Exemple #2
0
//         public override void OnPlayerEnter(ObjPlayer player)
//         {
//             base.OnPlayerEnter(player);
//
//         }

        public override void OnPlayerEnterOver(ObjPlayer player)
        {
            base.OnPlayerEnterOver(player);
            Dirty = true;
            CoroutineFactory.NewCoroutine(ApplyPlayerExdata, player).MoveNext();
            player.SyncCharacterPostion();
        }