Ejemplo n.º 1
0
    public bool IsTeamerCanPick(uint nteamid)
    {
        TeamDataManager teamData = DataManager.Manager <TeamDataManager>();

        if (teamData != null)
        {
            //if (teamData.TeamState == TeamState.Alone)
            if (teamData.IsJoinTeam == false)
            {
                return(false);
            }

            if (teamData.TeamItemMode == GameCmd.TeamItemMode.TeamItemMode_Leader)
            {
                if (teamData.TeamId == nteamid)
                {
                    return(teamData.LeaderId == MainPlayerHelper.GetPlayerID());
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }
        return(false);
    }
    //team panels are created by the "AddTeam" button. Only one button is on screen at a time, always to right of the last teamPanel, except for the last one.
    //team panel defaults to the first remaining team color? Right now it defaults to nothing.
    //how to close team panels?
    //which ones can be open? middle two, only first two? last two? last three? does it matter?

    // Use this for initialization
    void Start()
    {
        totalNumberOfPlayers = 0;

        numberOfHumanPlayers = 0;
        numberOfCPUPlayers   = 0;

        allPlayers   = new List <PlayerData> ();
        allTeamNames = new List <string> ();

        numberOfTeams = 0;

        var tempData = GameObject.FindGameObjectWithTag("TeamData");

        teamDataReference = tempData.GetComponent <TeamDataManager> ();

        availableCPUPlayers = new Stack <string> ();

        LoadCPUPlayers();

        activateStartGameButton = false;
        startGameButton.gameObject.SetActive(activateStartGameButton); //set the start button inactive until there are players chosen

        thePlayer = new PlayerData("", null, 1000, 0);                 //empty string name, do assign until on a team, null team color when not on a team, 0 difficulty for non cpu player
    }
Ejemplo n.º 3
0
    public void OnAskTeamrCopy(stAskTeamrCopyUserCmd_CS cmd)
    {
        m_uEnterCopyID = cmd.copy_base_id;
        m_dicTeammateStatus.Clear();
        TeamDataManager teamData = DataManager.Manager <TeamDataManager>();

        m_dicTeammateStatus.Add(teamData.LeaderId, true);


        CopyDataBase db = GameTableManager.Instance.GetTableItem <CopyDataBase>(cmd.copy_base_id);

        if (db == null)
        {
            return;
        }
        if (!KHttpDown.Instance().SceneFileExists(db.mapId))
        {
            stAnsTeamCopyUserCmd_CS sendCmd = new stAnsTeamCopyUserCmd_CS();
            sendCmd.ans          = false;
            sendCmd.copy_base_id = cmd.copy_base_id;
            NetService.Instance.Send(cmd);
            DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.DownloadPanel);

            //TipsManager.Instance.ShowTips(LocalTextType.Team_Limit_nindedongwurenshuyiman);//您的队伍人数已满
            return;
        }
        else
        {
            DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.FBConfirmPanel);
        }

        m_uCountDown = GameTableManager.Instance.GetGlobalConfig <uint>("EnterCopyCountdown");
        TimerAxis.Instance().KillTimer(m_uCopyAskTeamTimerID, this);
        TimerAxis.Instance().SetTimer(m_uCopyAskTeamTimerID, 1000, this);
    }
Ejemplo n.º 4
0
    void Awake()
    {
        gameObject.SetActive(false);

        //awake is called immediately when the object is created, once and never again
        print(gameObject.name + "has awakened!");
        firstAwakened    = true;
        firstActivated   = false;
        teamData         = null;
        colorChanged     = false;
        teamColor        = null;
        playerToRemove   = null;
        currentTeamLogo  = null;
        currentTeamRobot = null;

        humanPlayerAddedToTeam = false;

        var tempTeamData = GameObject.FindGameObjectWithTag("TeamData");

        teamData = tempTeamData.GetComponent <TeamDataManager> ();

        playerDisplay = playerInfoText.GetComponent <PanelPlayerDisplay> ();

        //clear player info text
        playerInfoText.text = "";
        teamPlayers         = new Stack <PlayerData> ();
    }
Ejemplo n.º 5
0
    public void OnAnsTeamCopy(stAnsTeamCopyUserCmd_CS cmd)
    {
        if (m_dicTeammateStatus.ContainsKey(cmd.charid))
        {
            m_dicTeammateStatus[cmd.charid] = cmd.ans;
        }
        else
        {
            m_dicTeammateStatus.Add(cmd.charid, cmd.ans);
        }

        if (!cmd.ans)
        {
            IEntitySystem es = ClientGlobal.Instance().GetEntitySystem();
            if (es != null)
            {
                IPlayer player = es.FindEntity <IPlayer>(cmd.charid);
                if (player != null)
                {
                    TipsManager.Instance.ShowLocalFormatTips(LocalTextType.Copy_Commond_xweitongyijinrufuben, player.GetName());
                }
            }
            return;
        }

        DispatchValueUpdateEvent(new ValueUpdateEventArgs(CopyDispatchEvent.RefreshStatus.ToString(), null, null));
        TeamDataManager teamData = DataManager.Manager <TeamDataManager>();

        if (teamData.MainPlayerIsLeader())
        {
            List <TeamMemberInfo> memList = teamData.TeamMemberList;
            bool bAllagree = true;
            foreach (var meminfo in memList)
            {
                if (m_dicTeammateStatus.ContainsKey(meminfo.id))
                {
                    bAllagree = m_dicTeammateStatus[meminfo.id];
                    if (!bAllagree)
                    {
                        break;
                    }
                }
                else
                {
                    bAllagree = false;
                    break;
                }
            }
            if (bAllagree)
            {
                //stRequestEnterCopyUserCmd_C copyCmd = new stRequestEnterCopyUserCmd_C();
                //copyCmd.copy_base_id = EnterCopyID;
                //NetService.Instance.Send(copyCmd);

                DataManager.Manager <ComBatCopyDataManager>().ReqEnterCopy(EnterCopyID);
            }
        }
    }
Ejemplo n.º 6
0
    void onClick_Btn_enter_Btn(GameObject caster)
    {
        if (m_db != null)
        {
            if (!KHttpDown.Instance().SceneFileExists(m_db.mapId))
            {
                //打开下载界面
                DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.DownloadPanel);
                return;
            }
        }

        if (m_db != null)
        {
            if (m_db.membType == 3)
            {
                TeamDataManager teamData = DataManager.Manager <TeamDataManager>();
                bool            showTips = false;
                if (teamData.IsJoinTeam)
                {
                    List <TeamMemberInfo> teamMemberList = teamData.TeamMemberList;
                    int count = teamMemberList.Count;
                    if (count == 1)
                    {
                        showTips = true;
                    }
                }
                else
                {
                    showTips = true;
                }
                if (showTips)
                {
                    string tips = DataManager.Manager <TextManager>().GetLocalText(LocalTextType.Copy_Commond_fubenjinrutips);
                    TipsManager.Instance.ShowTipWindow(TipWindowType.CancelOk, tips, () =>
                    {
                        EnterCopy();
                    });
                }
                else
                {
                    EnterCopy();
                }
            }
            else
            {
                EnterCopy();
            }
        }
    }
Ejemplo n.º 7
0
    public bool IsSameTeam(uint nteamid)
    {
        TeamDataManager teamData = DataManager.Manager <TeamDataManager>();

        if (teamData != null)
        {
            //if (teamData.TeamState == TeamState.Alone)
            if (teamData.IsJoinTeam == false)
            {
                return(false);
            }

            return(teamData.TeamId == nteamid);
        }
        return(false);
    }
Ejemplo n.º 8
0
    public bool IsSameTeam(IEntity target)
    {
        TeamDataManager teamData = DataManager.Manager <TeamDataManager>();

        if (teamData != null)
        {
            //if (teamData.TeamState == TeamState.Alone)
            if (teamData.IsJoinTeam == false)
            {
                return(false);
            }

            return(teamData.IsMember(target.GetID()));
        }
        return(false);
    }
Ejemplo n.º 9
0
    public void Set(TeamData team_data)
    {
        IsAuto             = team_data.IsAuto;
        IsFast             = team_data.IsFast;
        m_LeaderCreature   = team_data.LeaderCreature;
        UseLeaderSkillType = team_data.UseLeaderSkillType;
        m_Creatures        = CloneCreatures(team_data.Creatures);
        NoDuplicate        = team_data.NoDuplicate;
        UpdateCreature();

        if (TeamDataManager.IsAdventureTeam(TeamType))
        {
            Creatures.ForEach(c => TeamDataManager.Instance.RemoveAdventureCreature(c));
        }
        TeamDataManager.Instance.Save();
    }
Ejemplo n.º 10
0
 public void UpdateCreature()
 {
     m_Creatures2 = TeamDataManager.IsAdventureTeam(TeamType) ? m_Creatures : m_Creatures.Where(c => TeamDataManager.Instance.CheckAdventureTeam(c.creature.Idx) == false).ToList();
 }
Ejemplo n.º 11
0
 void EnterCopy()
 {
     if (m_db != null)
     {
         ComBatCopyDataManager copyData       = DataManager.Manager <ComBatCopyDataManager>();
         TeamDataManager       teamData       = DataManager.Manager <TeamDataManager>();
         List <TeamMemberInfo> teamMemberList = teamData.TeamMemberList;
         int count = teamMemberList.Count;
         copyData.CPFlag = (CopyFlag)m_db.copyFlag;
         if (copyData.CPFlag == CopyFlag.Danren)
         {
             DataManager.Manager <ComBatCopyDataManager>().ReqEnterCopy(m_db.copyId);
         }
         else if (copyData.CPFlag == CopyFlag.Juqing)
         {
             if (count > 1)
             {
                 if (teamData.MainPlayerIsLeader())
                 {
                     DataManager.Manager <CampCombatManager>().ReqAskTeamrCopy(m_db.copyId);
                 }
                 else
                 {
                     TipsManager.Instance.ShowTips(LocalTextType.Copy_Commond_zhiyouduizhangcainengjinfubeno);
                 }
             }
             else
             {
                 if (m_db.copyId != 4001)
                 {
                     DataManager.Manager <ComBatCopyDataManager>().ReqEnterCopy(m_db.copyId);
                 }
             }
         }
         else if (copyData.CPFlag == CopyFlag.Zudui)
         {
             CopyDataBase db = GameTableManager.Instance.GetTableItem <CopyDataBase>(m_db.copyId);
             if (db != null)
             {
                 if (MainPlayerHelper.GetPlayerLevel() < db.openLv)
                 {
                     TipsManager.Instance.ShowTipsById(21);
                     return;
                 }
             }
             stAskTeamrCopyUserCmd_CS cmd = new stAskTeamrCopyUserCmd_CS();
             cmd.copy_base_id = m_db.copyId;
             NetService.Instance.Send(cmd);
         }
         else if (copyData.CPFlag == CopyFlag.Huodong)
         {
             if (m_db.copyType == 3)//阵营战
             {
                 DataManager.Manager <CampCombatManager>().GetSignCampInfo(0);
                 DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.CampWarPanel);
             }
         }
         else if (copyData.CPFlag == CopyFlag.DaTi)
         {
             DataManager.Manager <AnswerManager>().ReqEnterAnswerCopy();
         }
         else
         {
             stAskTeamrCopyUserCmd_CS cmd = new stAskTeamrCopyUserCmd_CS();
             cmd.copy_base_id = m_db.copyId;
             NetService.Instance.Send(cmd);
         }
     }
 }