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); }
void LoadGame(GameSceneLoader loader) { gameLog.Load(loader.SaveGamePath); var autoplayer = new AutoPlayer(gameLog); player1 = autoplayer.Player1; player2 = autoplayer.Player2; StartGame(); }
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(); } } }
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); }
// 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; }
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); }