Ejemplo n.º 1
0
        public IEnumerator GetAutoPlayerInScene(Coroutine coroutine, ulong guid)
        {
            var msg = SceneServer.Instance.LogicAgent.GetLogicSimpleData(guid, 0);

            yield return(msg.SendAndWaitUntilDone(coroutine));

            if (msg.State != MessageState.Reply)
            {
                Logger.Warn("GetAutoPlayerInScene GetLogicSimpleData False! guid={0}", guid);
                yield break;
            }

            var msg2 = SceneServer.Instance.SceneAgent.GetSceneSimpleData(guid, 0);

            yield return(msg2.SendAndWaitUntilDone(coroutine));

            if (msg2.State != MessageState.Reply)
            {
                Logger.Warn("GetAutoPlayerInScene GetSceneSimpleData False! guid={0}", guid);
                yield break;
            }
            var tbScene = Table.GetScene(TypeId);

            if (string.IsNullOrEmpty(msg2.Response.Name))
            {
                Logger.Error("GetAutoPlayerInScene GetSceneSimpleData Name is null! guid={0}", guid);
            }
            mAutoPlayer = CreateAutoPlayer(msg.Response, msg2.Response,
                                           new Vector2((float)tbScene.PVPPosX, (float)tbScene.PVPPosZ), new Vector2(1, 0));
            mAutoPlayer.AddBuff(3001, 1, mAutoPlayer);
        }
Ejemplo n.º 2
0
        void LoadGame(GameSceneLoader loader)
        {
            gameLog.Load(loader.SaveGamePath);
            var autoplayer = new AutoPlayer(gameLog);

            player1 = autoplayer.Player1;
            player2 = autoplayer.Player2;
            StartGame();
        }
Ejemplo n.º 3
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));
            }

            ChangeDifficulty(PlayerCount);

            mPlayer = player;
            pvpId   = player.mDbData.P1vP1CharacterId;
            if (mAutoPlayer == null)
            {
                if (mHasHold)
                {
                    if (Trggers[(int)eDungeonTimerType.WaitStart] == null)
                    {
                        StartTimer(eDungeonTimerType.WaitStart, DateTime.Now.AddSeconds(5), TimeOverStart);
                    }
                    NotifyDungeonTime(player, eDungeonTimerType.WaitStart);
                    Exdata = 1;
                }
                else
                {
                    StartDungeon();
                    Exdata = 0;
                }

                player.AddBuff(3001, 1, player);
                if (StaticData.IsRobot(pvpId))
                {
                    var tbScene = Table.GetScene(TypeId);
                    mAutoPlayer = CreateAutoPlayer((int)pvpId,
                                                   new Vector2((float)tbScene.PVPPosX, (float)tbScene.PVPPosZ), new Vector2(1, 0));
                    mAutoPlayer.AddBuff(3001, 1, mAutoPlayer);
                }
                else
                {
                    CoroutineFactory.NewCoroutine(GetAutoPlayerInScene, pvpId).MoveNext();
                }
            }
        }
Ejemplo n.º 4
0
        public AutoPlayer CreateAutoPlayer(Scene _this, int RobotId, Vector2 pos, Vector2 dir)
        {
            var autoPlayer = new AutoPlayer();

            autoPlayer.InitByRobot(_this.GenerateNextId(), RobotId);

            if (!_this.ValidPosition(pos))
            {
                Logger.Error("Npc postion is invalid. RobotId={2},name={0}, pos={1}", autoPlayer.GetName(), pos, RobotId);
            }

            autoPlayer.SetPosition(pos.X, pos.Y);
            autoPlayer.SetDirection(dir);

            _this.EnterScene(autoPlayer);
            return(autoPlayer);
        }
Ejemplo n.º 5
0
    // Use this for initialization
    void Start()
    {
        if (instance == null)
        {
            instance = this;
        }

        aFingers = new List <AutoFinger>();

        aFingers.Add(new AutoFinger(0));
        aFingers.Add(new AutoFinger(1));
        aFingers.Add(new AutoFinger(2));
        aFingers.Add(new AutoFinger(3));

        sBot         = GetComponent <SliderBot>();
        sBot.enabled = true;
    }
Ejemplo n.º 6
0
        public AutoPlayer CreateAutoPlayer(Scene _this,
                                           LogicSimpleData logic,
                                           SceneSimpleData scene,
                                           Vector2 pos,
                                           Vector2 dir)
        {
            var autoPlayer = new AutoPlayer();

            autoPlayer.Init(_this.GenerateNextId(), logic, scene);

            if (!_this.ValidPosition(pos))
            {
                Logger.Error("CreateAutoPlayer postion is invalid. PlayerId={2},name={0}, pos={1}", autoPlayer.GetName(),
                             pos, logic.Id);
            }

            autoPlayer.SetPosition(pos.X, pos.Y);
            autoPlayer.SetDirection(dir);

            _this.EnterScene(autoPlayer);
            return(autoPlayer);
        }