public ObjBoss CreateBoss(Scene _this, int dataId, Vector2 pos, Vector2 dir, string name = "", int level = -1) { var npc = new ObjBoss(); npc.Init(_this.GenerateNextId(), dataId, level); if (!string.IsNullOrEmpty(name)) { npc.SetName(name); } //if (level > 0) //{ // npc.SetLevel(level); //} if (!_this.ValidPosition(pos)) { Logger.Warn("Npc postion is invalid. DataId={2},name={0},pos={1},scene={3}", npc.GetName(), pos, dataId, _this.TypeId); } npc.SetPosition(pos.X, pos.Y); npc.SetDirection(dir); npc.BornPosition = pos; npc.BornDirection = dir; _this.EnterScene(npc); return(npc); }
public ObjNPC CreateNpc(Scene _this, SceneNpcRecord sceneNpcRecord, int dataId, Vector2 pos, Vector2 dir, string name = "", int level = -1) { if (Math.Abs(pos.X + 1) < 0.0001f && Math.Abs(pos.Y + 1) < 0.0001f) { return(null); } if (dataId != 999 && dataId != 998) { if (!_this.ValidPosition(pos)) { Logger.Warn("Npc postion is invalid. DataId={0},pos={1},scene={2}", dataId, pos, _this.TypeId); var temp = _this.FindNearestValidPosition(pos, 10); if (null != temp) { pos = temp.Value; } else { Logger.Error("null==FindNearestValidPosition. DataId={0},pos={1},scene={2}", dataId, pos, _this.TypeId); return(null); } } } var npc = new ObjNPC(); npc.tbSceneNpc = sceneNpcRecord; npc.Init(_this.GenerateNextId(), dataId, level); npc.mBornTime = DateTime.Now; if (!string.IsNullOrEmpty(name)) { npc.SetName(name); } //if (level > 0)840824 //{ // npc.SetLevel(level); //} npc.SetPosition(pos.X, pos.Y); npc.SetDirection(dir); npc.BornPosition = pos; npc.BornDirection = dir; _this.EnterScene(npc); return(npc); }
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); }
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); }