Example #1
0
		public override List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam targetTeam)
		{
			List<BattleFighter> _curFighterList = new List<BattleFighter>();
			_curFighterList.Add(attacker);
			return _curFighterList;

		}
Example #2
0
		public static void refreshState(BattleTeam battleTeam)
		{
			foreach (BattleFighter _fighter in battleTeam.ActorList)
			{
				refreshState(_fighter);
			}
		}
Example #3
0
		public override List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam defencerTeam)
		{
			List<BattleFighter> _curFighterList = new List<BattleFighter>();
			BattleFighter _fighter = defencerTeam.getActor(index);
			_curFighterList.Add(_fighter);
			return _curFighterList;
		}
Example #4
0
		public BattleFighter(BattleTeam ownerTeam, FighterInfo baseProp)
		{
			this.baseProp = baseProp;
			this.dead = false;
			this.stateManager = new FighterStateManager(this);
			this.fighterProp = new BattleFighterPropty(this);
		}
Example #5
0
		public override List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam targetTeam)
		{
			List<BattleFighter> _curFighterList = new List<BattleFighter>();
			int _index = attacker.getOwnerTeam().getIntProp(BattleKeyConstants.BATTLE_KEY_HERO_TEAM_TARGET);
			BattleFighter _fighter = targetTeam.getActor(_index);
			_curFighterList.Add(_fighter);
			return _curFighterList;
		}
Example #6
0
		public static void recordTeamBuffState(BattleTeam team)
		{
			BattleRecord _record = team.Battle.Record;
			BattleBuffRecord _buffRecord = _record.OrCreateBuffRecord;
			_buffRecord.SideIndex = team.BattleSide.Index;
			recordBuffState(_buffRecord, team.ActorList);
			_record.finishCurBuffRecord();
		}
Example #7
0
    public IEnumerator EndBattle()
    {
        BattleTeam        winningTeam = battleModel.GetWinningTeam();
        List <BattleTeam> losingTeams = battleModel.GetLosingTeams();

        battleUI.SetPokemonHUDsActive(false);

        // No exit message
        if (battleModel.battleSettings.isWildBattle ||
            battleModel.runningPokemon != null)
        {
        }
        // Trainer Battle
        else
        {
            // Draw
            if (winningTeam == null)
            {
                yield return(StartCoroutine(battleUI.DrawText("The battle ended in a draw!")));
            }
            else
            {
                // gather all losing trainers...
                List <Trainer> losingTrainers = new List <Trainer>();
                for (int i = 0; i < losingTeams.Count; i++)
                {
                    losingTrainers.AddRange(losingTeams[i].trainers);
                }

                // Spectating
                if (isSpectator)
                {
                    string text = GetTrainerNames(winningTeam.trainers) + " defeated " + GetTrainerNames(losingTrainers) + "!";
                    yield return(StartCoroutine(battleUI.DrawText(text)));
                }

                // Player
                else
                {
                    // Player wins
                    if (winningTeam.teamID == teamPos)
                    {
                        string text = "You defeated " + GetTrainerNames(losingTrainers) + "!";
                        yield return(StartCoroutine(battleUI.DrawText(text)));
                    }
                    // Player loses
                    else
                    {
                        string text = "You lost to " + GetTrainerNames(winningTeam.trainers) + "!";
                        yield return(StartCoroutine(battleUI.DrawText(text)));
                    }
                }
            }
        }


        yield return(null);
    }
Example #8
0
    public BTLSCN_Pokemon DrawPokemon(Pokemon pokemon, Battle battle, bool isNear)
    {
        // get spawn position
        Transform  spawnPos = this.transform;
        BattleTeam team     = battle.GetTeam(pokemon);

        switch (team.teamMode)
        {
        case BattleTeam.TeamMode.Single:
            spawnPos = (isNear) ? spawnNearSingle : spawnFarSingle;
            break;

        case BattleTeam.TeamMode.Double:
            spawnPos = (pokemon.battlePos == 0) ? (isNear ? spawnNearDouble0 : spawnFarDouble0)
                    : isNear ? spawnNearDouble1 : spawnFarDouble1;
            break;

        case BattleTeam.TeamMode.Triple:
            spawnPos = (pokemon.battlePos == 0) ? (isNear ? spawnNearTriple0 : spawnFarTriple0)
                    : (pokemon.battlePos == 1) ? (isNear ? spawnNearTriple1 : spawnFarTriple1)
                    : isNear ? spawnNearTriple2 : spawnFarTriple2;
            break;
        }

        // draw pokemon
        string drawPath = "pokemonSprites/" + (isNear ? "back/" : "front/") + pokemon.data.displayID;

        BTLSCN_Pokemon newScnPokemon = Instantiate(pokemonPrefab, spawnPos.position, Quaternion.identity, spawnPos);

        newScnPokemon.spriteRenderer.sprite = BattleAssetLoader.instance.nullSprite;
        newScnPokemon.pokemonUniqueID       = pokemon.uniqueID;
        newScnPokemon.pokemonID             = pokemon.pokemonID;

        float xOffset = isNear ? pokemon.data.xOffset2DNear : pokemon.data.xOffset2DFar;
        float yOffset = isNear ? pokemon.data.yOffset2DNear : pokemon.data.yOffset2DFar;

        newScnPokemon.spriteRenderer.transform.localPosition = new Vector3(xOffset, yOffset);
        newScnPokemon.spriteRenderer.sortingOrder            = isNear ? pokemon.battlePos : -pokemon.battlePos;
        newScnPokemon.spriteRenderer.transform.localScale    = isNear ? new Vector3(2, 2) : new Vector3(1, 1);
        scnPokemon.Add(newScnPokemon);

        if (BattleAssetLoader.instance.loadedPokemonSprites.ContainsKey(drawPath))
        {
            newScnPokemon.spriteRenderer.sprite = BattleAssetLoader.instance.loadedPokemonSprites[drawPath];
        }
        else
        {
            StartCoroutine(BattleAssetLoader.instance.LegacyLoadPokemon(
                               pokemon: pokemon,
                               useFront: !isNear,
                               useBack: isNear,
                               scnPokemon: newScnPokemon
                               ));
        }

        return(newScnPokemon);
    }
Example #9
0
		public override List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam targetTeam)
		{
			List<BattleFighter> _curFighterList = new List<BattleFighter>();
			List<BattleFighter> _fighters = targetTeam.AllBattingFighter;
			int _index = MathUtils.random(0, _fighters.Count - 1);
			BattleFighter _fighter = _fighters[_index];
			_curFighterList.Add(_fighter);
			return _curFighterList;
		}
Example #10
0
    IEnumerator InitBattlePvPHeroData()
    {
        BattleTeam[] teamList = new BattleTeam[2];

        teamList[0].Init(this, BattleUnit.Team.Red, BattleDayDungeonManager.redTeamDataList);
        teamList[1].Init(this, BattleUnit.Team.Red, BattleDayDungeonManager.redTeamDataList);
        yield return(StartCoroutine(Init(BattleUnit.Team.Red, BattleDayDungeonManager.redTeamDataList)));

        yield return(StartCoroutine(Init(BattleUnit.Team.Blue, BattleDayDungeonManager.blueTeamDataList)));
    }
Example #11
0
    public void SetControlTeam(int index)
    {
        BattleTeam team = GetTeam(index);

        if (team)
        {
            ControlTeam = team;
            ControlTeamChange.Invoke(team);
        }
    }
Example #12
0
		private int calcResultFlag(BattleFighter attacker, BattleTeam targetTeam)
		{
			int _targetFlag = 0xffff;
			foreach (ISkillTargetGetter _targetGetter in targetGetterList)
			{
				List<BattleFighter> _targetFighterList = _targetGetter.getTarget(attacker, targetTeam);
				int _curFlag = calcTargetFlag(_targetFighterList);
				_targetFlag &= _curFlag;
			}
			return _targetFlag;
		}
Example #13
0
 public ModelUpdateTeam(BattleTeam obj, bool loadAsset = false)
 {
     this.loadAsset = loadAsset;
     teamID         = obj.teamID;
     teamMode       = (obj.teamMode == BattleTeam.TeamMode.Single)? TeamMode.Single
         : (obj.teamMode == BattleTeam.TeamMode.Double)? TeamMode.Double
         : TeamMode.Triple;
     for (int i = 0; i < obj.trainers.Count; i++)
     {
         trainers.Add(obj.trainers[i].playerID);
     }
 }
Example #14
0
    void AddDieToTeam(BattleTeam team, Die die)
    {
        var battleDie = team.TryAddDie(die, _UI.FindDie(die));

        if (battleDie != null)
        {
            battleDie.LandedOnFace += OnDieLandedOnFace;

            Debug.Log($"<color=blue>{team.Name} has a new member: {die.name} of type {die.dieType} ({team.Dice.Count}/{BattleTeam.RequiredNumberOfDices})</color>");
            CancelBattle(BattleCancelledReason.DieJoined);
        }
    }
        public BattleTeam Build(string startingLetter, int numUnits = 3)
        {
            var team        = new BattleTeam();
            var unitBuilder = new TestBattleUnitBuilder(random);

            for (int i = 0; i < numUnits; i++)
            {
                team.Units.Add(unitBuilder.Build(startingLetter));
            }

            return(team);
        }
		public override List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam targetTeam)
		{
			List<BattleFighter> _fighterList = new List<BattleFighter>();
			List<BattleFighter> _baseFighters = getBaseFighter(targetTeam);
			foreach (BattleFighter _fighter in _baseFighters)
			{
				if (isFitFlag(_fighter))
				{
					_fighterList.Add(_fighter);
				}
			}
			return _fighterList;
		}
Example #17
0
        public string RenderHtml(BattleTeam battleTeam, BattleUnit currentUnit, BattleUnit targetUnit)
        {
            var renderHtml = new StringBuilder("<table border=\"1\"><tr><th>BattleTeam</th></tr><tr>");

            foreach (var unit in battleTeam.Units)
            {
                var renderStyle = unit == targetUnit ? BattleUnitRender.RenderStyle.Target :
                                  unit == currentUnit ? BattleUnitRender.RenderStyle.Current : BattleUnitRender.RenderStyle.Normal;
                renderHtml.Append(battleUnitRender.RenderHtml(unit, renderStyle));
            }

            renderHtml.Append("</tr></table>");
            return(renderHtml.ToString());
        }
Example #18
0
    bool CheckTeamEnterBattle(BattleTeam team, bool otherTeamInBattle = false)
    {
        bool enteredBattle = team.TryEnterBattle();

        if (enteredBattle)
        {
            team.PlayAnimation(Animations.FaceUp);
        }
        else
        {
            team.PlayAnimation(otherTeamInBattle ? Animations.WaitingForBattle : Animations.ShowTeam);
        }
        return(enteredBattle);
    }
Example #19
0
		protected internal virtual List<BattleFighter> calcTargetList(BattleFighter attacker, BattleTeam targetTeam)
		{
			int _targetFlag = calcResultFlag(attacker, targetTeam);

			List<BattleFighter> _resultTarget = new List<BattleFighter>();
			int _teamSize = targetTeam.allActorSize();
			for (int _i = 0; _i < _teamSize; _i++)
			{
				if (MathUtils.hasFlagIndex(_targetFlag, _i))
				{
					_resultTarget.Add(targetTeam.getActor(_i));
				}
			}
			return _resultTarget;
		}
Example #20
0
    public void Init()
    {
        Input = new InputManager();
        Input.Init(this);
        for (int i = 0, length = MaxTeamNum; i < length; ++i)
        {
            BattleTeam team = new BattleTeam();
            team.Init(this);
            listTeams.Add(team);
        }
        Input.OnClickGround.AddListener(OnClickGround);
        Input.OnClickInteractiveObj.AddListener(OnClickInteractiveObj);

        Event_Battle.OnBattleBegin.AddListener(Input.Reset);
        Event_Battle.OnBattleOver.AddListener((isWin) => { });
    }
    public static int get_DeadActorCount(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, battleTeam.DeadActorCount);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int get_m_groups(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, battleTeam.m_luaExportHelper.m_groups);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int RemoveAll(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            battleTeam.RemoveAll();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetOtherTeam(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            BattleTeam otherTeam  = battleTeam.GetOtherTeam();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, otherTeam);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Example #25
0
    void RemoveDieFromTeam(BattleTeam team, Die die)
    {
        var battleDie = team.TryRemoveDie(die);

        if (battleDie != null)
        {
            battleDie.LandedOnFace -= OnDieLandedOnFace;

            Debug.Log($"<color=blue>{team.Name} lost a member: {die.name} of type {die.dieType} ({team.Dice.Count}/{BattleTeam.RequiredNumberOfDices})</color>");
            CancelBattle(BattleCancelledReason.DieLeft);

            var pendingDie = _dice.FirstOrDefault(d => _team1.Dice.Concat(_team2.Dice).All(bd => bd.Die != d));
            if (pendingDie != null)
            {
                AddDieToTeam(team, pendingDie);
            }
        }
    }
    public static int CreateActor(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam  battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            BattleActor o          = battleTeam.CreateActor();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int HasFinishActionNpcActor(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            bool       b          = battleTeam.HasFinishActionNpcActor();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetActors(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam         battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            List <BattleActor> actors     = battleTeam.GetActors();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, actors);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    private void RefreshBattleUnits()
    {
        if (BattleField == null)
        {
            UtilityHelper.LogError("准备战斗单位失败,没有战场");
            return;
        }

        int allCount       = BattleField.Teams[0].BattleUnits.Count + BattleField.Teams[1].BattleUnits.Count;
        int hasInstantiate = 0;

        for (int i = 0; i < BattleField.Teams.Count; i++)
        {
            BattleTeam team = BattleField.Teams[i];
            if (team.BattleUnits != null)
            {
                for (var index = 0; index < team.BattleUnits.Count; index++)
                {
                    var battleUnitData = team.BattleUnits[index];
                    Addressables.InstantiateAsync(battleUnitData.AssetAddress, battleUnitRoot).Completed += (handle) =>
                    {
                        if (handle.Status == AsyncOperationStatus.Succeeded)
                        {
                            BattleUnitRenderer battleUnitRenderer = handle.Result.GetComponent <BattleUnitRenderer>();
                            if (battleUnitRenderer != null)
                            {
                                battleUnitData.ConnectRenderer(battleUnitRenderer);
                                battleUnitRenderer.UpdatePositionByGrid(battleUnitData.mapGrid);
                            }
                            else
                            {
                                UtilityHelper.LogError("BattleUnitRender为空,无法连接");
                            }
                        }
                        hasInstantiate++;
                        if (hasInstantiate == allCount)
                        {
                            BattleField.Run();
                        }
                    };
                }
            }
        }
    }
    public static int set_m_groups(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam           battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            List <BehaviorGroup> groups;
            LuaObject.checkType <List <BehaviorGroup> >(l, 2, out groups);
            battleTeam.m_luaExportHelper.m_groups = groups;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int StopBattle(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            bool       win;
            LuaObject.checkType(l, 2, out win);
            battleTeam.StopBattle(win);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_m_deadActorCount(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            int        deadActorCount;
            LuaObject.checkType(l, 2, out deadActorCount);
            battleTeam.m_luaExportHelper.m_deadActorCount = deadActorCount;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_m_teamNumber(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            int        teamNumber;
            LuaObject.checkType(l, 2, out teamNumber);
            battleTeam.m_luaExportHelper.m_teamNumber = teamNumber;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Example #34
0
    // Clone
    public static BattleTeam Clone(BattleTeam original)
    {
        List <Trainer> trainers = new List <Trainer>();

        for (int i = 0; i < original.trainers.Count; i++)
        {
            trainers.Add(original.trainers[i].Clone());
        }

        BattleTeam cloneTeam = new BattleTeam(
            teamMode: original.teamMode,
            trainers: trainers,
            teamID: original.teamID,
            setupControl: false
            );

        cloneTeam.bProps = BattleTeamProperties.Clone(original.bProps);
        return(cloneTeam);
    }
    public static int OnMyActorDie(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam  battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            BattleActor actor;
            LuaObject.checkType <BattleActor>(l, 2, out actor);
            battleTeam.OnMyActorDie(actor);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_m_actors(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam         battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            List <BattleActor> actors;
            LuaObject.checkType <List <BattleActor> >(l, 2, out actors);
            battleTeam.m_luaExportHelper.m_actors = actors;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_m_battle(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            BattleBase battle;
            LuaObject.checkType <BattleBase>(l, 2, out battle);
            battleTeam.m_luaExportHelper.m_battle = battle;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int AddGroupBehaviors(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam            battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            Dictionary <int, int> behaviors;
            LuaObject.checkType <Dictionary <int, int> >(l, 2, out behaviors);
            battleTeam.AddGroupBehaviors(behaviors);
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int set_m_groupBehaviorDict(IntPtr l)
    {
        int result;

        try
        {
            BattleTeam            battleTeam = (BattleTeam)LuaObject.checkSelf(l);
            Dictionary <int, int> groupBehaviorDict;
            LuaObject.checkType <Dictionary <int, int> >(l, 2, out groupBehaviorDict);
            battleTeam.m_luaExportHelper.m_groupBehaviorDict = groupBehaviorDict;
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
Example #40
0
    private void StartBattleTest()
    {
        Bod bod1 = new Bod();

        // Debug.Log ("Generated Bod: \n" + BodManager.instance.GetStats(bod1));
        bod1.name = "Bod 1";
        Bod bod2 = new Bod();

        // Debug.Log ("Generated Bod: \n" + BodManager.instance.GetStats(bod2));
        bod2.name = "Bod 2";
        Bod bod3 = new Bod();

        // Debug.Log ("Generated Bod: \n" + BodManager.instance.GetStats(bod3));
        bod3.name = "Bod 3";
        Bod bod4 = new Bod();

        // Debug.Log ("Generated Bod: \n" + BodManager.instance.GetStats(bod4));
        bod4.name = "Bod 4";
        Bod bod5 = new Bod();

        // Debug.Log ("Generated Bod: \n" + BodManager.instance.GetStats(bod5));
        bod5.name       = "Bod 5";
        bod5.spritePath = "package_2";
        Bod bod6 = new Bod();

        // Debug.Log ("Generated Bod: \n" + BodManager.instance.GetStats(bod6));
        bod6.name       = "Bod 6";
        bod6.spritePath = "package_2";

        BattleTeam team1 = new BattleTeam();

        team1.AddMember(bod1);
        team1.AddMember(bod2);
        team1.AddMember(bod3);
        team1.AddMember(bod4);
        BattleTeam team2 = new BattleTeam();

        team2.AddMember(bod5);
        team2.AddMember(bod6);

        BattleManager.instance.Start1v1Battle(team1, team2);
    }
		public override List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam targetTeam)
		{
			int _startPoint = startPoint;
			List<int> _pointList = new List<int>();
			_pointList.Add(_startPoint);
			foreach (PointDirection _pd in pointArray)
			{
				int _index = _pd.getChangedIndex(_startPoint);
				if (ArrayUtils.isRightArrayIndex(_index, BattleConstants.HERO_BATTLE_ARR_LENGTH))
				{
					_pointList.Add(_index);
				}
			}
			List<BattleFighter> _fighterList = new List<BattleFighter>();
			foreach (int _index in _pointList)
			{
				_fighterList.Add(targetTeam.getFighterByIndex(_index));
			}
			return _fighterList;
		}
    //public bool reactionWindowOpen;
    //public List<TileAgent> agentList;
    void Awake()
    {
        if (singleton == null) {
            singleton = this;
        }

        checkedTiles = new List<HexNode>();

        prevCombatPhaseStack = new Stack<CombatPhase>();

        playerTeam = new BattleTeam();
        enemyTeam = new BattleTeam();
    }
		public override void onBattleRoundStart(BattleRound battleRound, BattleTeam attackTeam)
		{

		}
		protected internal virtual void initSkill(BattleTeam team, BattleRoundCountRecord record)
		{
			foreach (BattleFighter _fighter in team.ActorList)
			{
				_fighter.SkillManager.beforeBattleStart(record);
			}
		}
Example #45
0
		public virtual void setOwnerTeam(BattleTeam ownerTeam)
		{
			this.ownerTeam = ownerTeam;
		}
Example #46
0
		public static BattleFighter createBattleFighterFromBattleProp(BattleTeam ownerTeam, FighterInfo fighterProp)
		{
			BattleFighter _fighter = new BattleFighter(ownerTeam, fighterProp);
			_fighter.Index = fighterProp.Index;
			_fighter.setOwnerTeam(ownerTeam);
			initFighterActFromFighterProp(_fighter, fighterProp.BattleProperty);
			return _fighter;
		}
Example #47
0
	public void init(BattleTeam aTeam,BattleTeam aOpponentTeam,bool aHasWon) {
		gameObject.SetActive(true);
		_team = aTeam;
		double xpToAdd = 0;
		if(aHasWon) {
		//	audio.audioFilename = "Music/POL-dawn-of-time-short";
		//	audio.Play();
			this.lossAnim.gameObject.SetActive(false);
			BetterList<BattleMonster> monsters = aTeam.monstersAsBattleMonster;
			for(int i = 0 ;i<monsters.size;i++) {
				GameObject go = UnityEngine.Object.Instantiate(Resources.Load("Battles/Interface/BattleCompleteMonster1") as GameObject) as GameObject;
				GameObject uiRoot = GameObject.FindGameObjectWithTag("UIRoot");
				SetNullAnchorsToGameObject anchors = go.GetComponent<SetNullAnchorsToGameObject>();
				go.transform.parent = uiRoot.transform;
				anchors.relativeLeft = 0.33f*i;
				anchors.relativeRight = 0.33f+(0.33f*i);
				anchors.OnEnableOverride();
				BattleCompleteMonster cm = go.GetComponent<BattleCompleteMonster>();
				xpToAdd = 0;
				if(monsters[i].monster.restingStatus==ERestingStatus.Awake) {
					xpToAdd += aOpponentTeam.monstersXPForDefeatingTeam(monsters[i].monster);
				}
				_completeMonsters.Add(cm);
				cm.init(monsters[i],(int) xpToAdd,i*0.5,aOpponentTeam.bestMeleeAtck,aOpponentTeam.bestMeleeDef,aOpponentTeam.bestRangeAtck,aOpponentTeam.bestRangeDef,aOpponentTeam.bestSpeed,aOpponentTeam.bestAccuracy,aOpponentTeam.bestAgility);
		/*		go.transform.position = new Vector3(-2.25f+(i*2.25f),0.0f);
				go.transform.localPosition = new Vector3(-2.25f+(i*2.25f),0.0f);*/
				go.transform.localScale = new Vector3(1.0f,1.0f,1.0f);
				 
				monsters[i].transform.localScale = new Vector3(0.5f,0.5f,0.5f);
				monsters[i].ChangeLayerTo("UI");
				monsters[i].transform.parent = GameObject.FindGameObjectWithTag("NGUICamera").transform;	
				Vector3 localPos = go.transform.localPosition;
				monsters[i].gameObject.transform.localPosition = new Vector3(localPos.x,-160f,0f);
			}
			if(BattleInit.REF!=null) {
				if(BattleInit.REF.itemsToAward!="") {
					string[] items = BattleInit.REF.itemsToAward.Split(new char[] {','});
					for(int i = 0 ;i<items.Length;i++) {
						ITMItem item = ItemLibrary.REF.getItemFromName(items[i]);
						if(item!=null) {
							PlayerMain.REF.addToInventory(item);
							
							GameObject obj = NGUITools.AddChild(this.itemsWon.gameObject,rewardItemPrefab);
							UITexture t = obj.GetComponent<UITexture>();
							t.gameObject.name = item.Name();
							t.mainTexture = item.texture();
						}
						
					}
				} else {
					itemsWon.gameObject.SetActive(false);
				}
				if(BattleInit.REF.money>0) {
					this.cashWon.text = string.Format("{0:n0}", BattleInit.REF.money);
					PlayerMain.REF.changeSoftCurrency(BattleInit.REF.money);
				} else {
					this.cashWon.text = string.Format("{0:n0}", "");
					this.cashPotSprite.gameObject.SetActive(false);
				}
			}
			StartCoroutine(findMonstersForEvolve(monsters.size*0.5f+0.5f));
		} else {
			
		//	GetComponent<AudioSource>(). = "Music/POL-war-victims-short";
		//	GetComponent<AudioSource>().Play();
			PlayerMain.REF.futureDoorway.targetXY = PlayerMain.REF.futureDoorway.targetMap.defaultStart;
			PlayerMain.REF.futureDoorway.futureNPCChat = "";
			victoryAnim.gameObject.SetActive(false);
			hidePrizes();
		}
		PlayerMain.REF.saveMonsters();
		GameObject mLobby = GameObject.FindGameObjectWithTag("MultiplayerPreGame");
	/*	if(mLobby!=null) {
			MultiplayerPregame l = mLobby.GetComponentInChildren<MultiplayerPregame>();
			l.active = true;
			l.isPostGame = true; 
			Debug.Log("Battle room is: "+SmartfoxHandler.REF.battleRoom);
			if(SmartfoxHandler.REF.battleRoom!=null) {
				RoomVariable r = SmartfoxHandler.REF.battleRoom.GetVariable("rank");
				Debug.Log ("Rank is: "+r.GetIntValue());
				if(r.GetIntValue()>0) {
					Debug.Log ("Has won is: "+aHasWon);
					if(aHasWon) {
						SaveGameUtils.REF.AddToScore(xpToAdd);
					}
				}
			}
		}*/
	
	}
		internal virtual List<BattleFighter> getBaseFighter(BattleTeam targetTeam)
		{
			return inBattle ? targetTeam.AllBattingFighter : targetTeam.AllAliveFighter;
		}
Example #49
0
		public abstract List<BattleFighter> getTarget(BattleFighter attacker, BattleTeam targetTeam);
Example #50
0
		public BattleAttackAction(Battle battle, BattleFighter attacker, BattleTeam defencerTeam) : base(battle, attacker)
		{
			this.defencerTeam = defencerTeam;
		}
		public override bool needHungUp(BattleRound round, BattleTeam attackTeam)
		{
			return attackTeam.FighterType == FighterType.HERO;
		}
Example #52
0
		public static void recordBattleTeamRecord(BattleTeam battleTeam, BattleRecord record)
		{
			BattleTeamInfoRecord _teamInfoRecord = record.OrCreateTeamRecord;
			_teamInfoRecord.Side = battleTeam.BattleSide.Index;
			foreach (BattleFighter _fighter in battleTeam.AllAliveFighter)
			{
				updateBattleFighterRecord(_fighter, _teamInfoRecord);
			}
		}