Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
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);
        }
Exemple #4
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);
        }