예제 #1
0
        static void Main(string[] args)
        {
            string keyword = "";

            // Initialize our database provider.
            Setup.Initialize();

            while (true)
            {
                // Search for dragons.
                List <Dragon> dragons = DragonManager.Find(keyword);

                // Display the dragons.
                DisplayDragons(dragons);

                // Get input from the user.
                Console.Write("Enter text to search by or Q to quit:>");
                keyword = Console.ReadLine();

                // Check the input.
                if (keyword.ToUpper() == "Q")
                {
                    break;
                }
            }

            Setup.Close();
        }
예제 #2
0
    public float rotateOnSpot     = 80.0f; //The speed at which the dragon will rotate on the spot.



    // Use this for initialization
    void Start()
    {
        manager = GetComponent <DragonManager>();
        if (InputManager.Devices.Count <= playerIndex)
        {
            return;
        }
        device = InputManager.Devices[playerIndex];
    }
예제 #3
0
    public AoYi(RTAoYi runtime, DragonManager manager)
    {
        Utils.Assert(runtime == null || manager == null, "Invalidate argument in HugeBeast Class Constructor");

        RTData = runtime;
        config = manager.getAoYiData(RTData.num);

        Utils.Assert(config == null, "Aoyi Config data can't be initialized. AoYi Id = " + RTData.num.ToString());
    }
예제 #4
0
        public BattleAoYi(Battle_AoYi[] data, DragonManager dragonMgr, SkillManager skillMgr)
        {
            //初始化
            _AoYi       = new Dictionary <int, CAoYi>();
            AoYiNumList = new List <int>();

            if (data != null && dragonMgr != null && skillMgr != null)
            {
                foreach (Battle_AoYi item in data)
                {
                    if (item != null)
                    {
                        AoYiNumList.Add(item.num);

//						AoYiData config = dragonMgr.getAoYiData(item.num);

                        AoYiData config = Core.Data.dragonManager.getAoYiData(item.num);

                        AoYiData tConfig = new AoYiData();

                        tConfig.basic       = config.basic;
                        tConfig.description = config.description;
                        tConfig.dragonType  = config.dragonType;
                        tConfig.effect      = new List <float[]> ();
                        for (int i = 0; i < config.effect.Count; i++)
                        {
                            float[] tI = new float[2];
                            tI = config.effect [i];
                            tConfig.effect.Add(tI);
//							tConfig.effect.Add (config.effect[i]);
                        }
                        tConfig.efinfo      = config.efinfo;
                        tConfig.ef_first    = config.ef_first;
                        tConfig.enhanced    = config.enhanced;
                        tConfig.exp         = config.exp;
                        tConfig.growth      = config.growth;
                        tConfig.ID          = config.ID;
                        tConfig.info        = config.info;
                        tConfig.maxLevel    = config.maxLevel;
                        tConfig.name        = config.name;
                        tConfig.skillID     = config.skillID;
                        tConfig.type        = config.type;
                        tConfig.unlockLevel = config.unlockLevel;

                        _AoYi[item.num] = new CAoYi(tConfig, item.lv, item.num, skillMgr);
                    }
                }
            }
        }
예제 #5
0
    public Dragon(DragonInfo runtime, DragonManager manager, SoulManager soulManager)
    {
        Utils.Assert(runtime == null || manager == null || soulManager == null, "Can't initialize Dragon Object for input data is null.");

        RTData = runtime;
        Config = manager.getDragonConfig(RTData.lv);

        if (RTData.num == AoYiData.DRAGON_EARTH)
        {
            Fragment = soulManager.GetFramentByType(ItemType.Earth_Frage);
        }
        else
        {
            Fragment = soulManager.GetFramentByType(ItemType.Nameike_Frage);
        }

        Fragment.Sort(new SortByDraonBallNum());

        Utils.Assert(Config == null, "Dragon Up Level Config file is wrong. lv = " + RTData.lv);
    }
예제 #6
0
    public void ExecuteClearLineEffect(ItemController lineBaseItem)
    {
        int currLine        = lineBaseItem.index;
        int middleLineIndex = (GameController.blockInRow + 1) / 2 - 1;

        List <CubeController> damagedBricks = new List <CubeController>();
        int countOfRockets  = (DragonManager.GetDragonByType(DragonType.DragonPremium) as PremiumDragon).maxNumberOfRockets;
        int rocketsLaunched = 0;

        for (int i = 0; i < countOfRockets; i++)
        {
            if (rocketsLaunched == countOfRockets)
            {
                break;
            }
            var allBrickINCo = GetCol <CubeController>(currLine).ToList();
            foreach (var item in allBrickINCo)
            {
                rocketsLaunched++;
                damagedBricks.Add(item);
                if (rocketsLaunched == countOfRockets)
                {
                    break;
                }
            }
            if (currLine == middleLineIndex)
            {
                break;
            }

            if (lineBaseItem.index > middleLineIndex)
            {
                currLine--;
            }
            else
            {
                currLine++;
            }
        }

        var Allitems = GetItemList <CubeController>().ToList();

        foreach (var item in damagedBricks)
        {
            if (Allitems.Contains(item))
            {
                Allitems.Remove(item);
            }
        }

        Allitems.Sort((item1, item2) => (Mathf.Abs(item1.index - middleLineIndex) * 1000 - item1.level - (Mathf.Abs(item2.index - middleLineIndex) * 1000 - item2.level)));
        foreach (var item in Allitems)
        {
            if (rocketsLaunched == countOfRockets)
            {
                break;
            }
            damagedBricks.Add(item);
            rocketsLaunched++;
        }

        int damagePercentage = (DragonManager.GetDragonByType(DragonType.DragonPremium) as PremiumDragon).damagePecent;

        foreach (var item in damagedBricks)
        {
            item.OnGetDamage(null, damagePercentage, DragonBonusType.SuperFirstBall);
        }
    }
예제 #7
0
 // Use this for initialization
 void Awake()
 {
     this.animator = this.dragon.GetComponent <Animator>();
     this.dm       = this.dragon.GetComponent <DragonManager>();
 }
예제 #8
0
        //keep singleton
        public BT_Logical(ClientData netdata)
        {
            _battleStatus = CMsgHeader.STATUS_WAR_BEGIN;

            //客户端不计算世界boss的战斗
            _isWorldBoss = 0;
            //战斗统计信息
            statictis = new BT_Statictis();
            //初始化Manager
            DragonManager dragonMgr = Core.Data.dragonManager;
            SkillManager  skillMgr  = Core.Data.skillManager;

            if (netdata != null)
            {
                //初始化奥义
                _attAoYi = new BattleAoYi(netdata.attAoYi, dragonMgr, skillMgr);
                _defAoYi = new BattleAoYi(netdata.defAoYi, dragonMgr, skillMgr);

                //初始化队伍
//				_attTeam = new BT_MonsterTeam(netdata.attTeam, this, 0, "Att", _attAoYi, _defAoYi);
//				int attTeamCnt = _attTeam._team.Count;


                //wxl
//				Battle_Monster tBM = netdata.defTeam.team [netdata.defTeam.team.Length - 1];
//				if (tBM != null) {
//					tBM.petNum = 10105;
//					tBM.property = 10;
//					//21006,21014,25006
//					tBM.lvl = 30;
//
//					SkillObj oneObj = new SkillObj ();
//					oneObj.skillId = 21006;
//					oneObj.skillLevel = 30;
//					SkillObj twoObj = new SkillObj ();
//					twoObj.skillId = 21014;
//					twoObj.skillLevel = 2;
//					SkillObj threeObj = new SkillObj ();
//					twoObj.skillId = 25006;
//					twoObj.skillLevel = 2;
//					tBM.skill = new SkillObj[3]{oneObj,twoObj,threeObj};
//					tBM.finalAtt = 8000;
//
//				}
//				for (int i = 0; i < netdata.defTeam.team.Length; i++) {
//					netdata.defTeam.team [i] = tBM;
//				}

//				for (int i = 0; i < netdata.attTeam.team.Length; i++) {
//					netdata.attTeam.team [i] = tBM;
//				}
                _attTeam = new BT_MonsterTeam(netdata.attTeam, this, 0, "Att", _attAoYi, _defAoYi);
                int attTeamCnt = _attTeam._team.Count;
                _defTeam = new BT_MonsterTeam(netdata.defTeam, this, attTeamCnt, "Def", _defAoYi, _attAoYi);

                _attTeam.setupRelation(_defTeam);
                _defTeam.setupRelation(_attTeam);

                m_ShabuReplay = false;
            }

            //分步战斗的数据初始化
            init();
            //初始化战斗结果,默认是输
            initWar();
            //战斗结果的存储地方
            _warRecorder = new List <CMsgHeader>();
        }