示例#1
0
    public FishInfo GetRandomFromRank(Fish.FishRank rank)
    {
        int      index = 0;
        FishInfo info  = null;

        switch (rank)
        {
        case Fish.FishRank.Common:
            index = UtilityClass.GetRandomFromRange(0, m_CommonList.Count - 1);
            info  = m_CommonList[index];
            break;

        case Fish.FishRank.Medium:
            index = UtilityClass.GetRandomFromRange(0, m_MediumList.Count - 1);
            info  = m_MediumList[index];
            break;

        case Fish.FishRank.High:
            index = UtilityClass.GetRandomFromRange(0, m_HighList.Count - 1);
            info  = m_HighList[index];
            break;

        case Fish.FishRank.Legend:
            index = UtilityClass.GetRandomFromRange(0, m_LegendList.Count - 1);
            info  = m_LegendList[index];
            break;
        }

        return(info);
    }
示例#2
0
 public FishDataInfo(FishDataInfo a_Copy)
 {
     m_FishKind   = a_Copy.m_FishKind;
     m_FishRank   = a_Copy.m_FishRank;
     m_FishSex    = a_Copy.m_FishSex;
     m_FishRankID = a_Copy.m_FishRankID;
     m_Shape      = a_Copy.m_Shape;
     m_Color      = a_Copy.m_Color;
     m_Identifier = a_Copy.m_Identifier;
     m_FishID     = a_Copy.m_FishID;
     m_lLevelInfo = new List <FishLevelInfo>(a_Copy.m_lLevelInfo);
 }
示例#3
0
    public FishInfo(FishDataInfo dataFishInfo)
    {
        m_FishRankID = dataFishInfo.m_FishRankID;
        //m_TopicID = dataFishInfo.m_TopicID;
        m_Identifier  = dataFishInfo.m_Identifier;
        m_FishID      = dataFishInfo.m_FishID;
        m_FishRank    = dataFishInfo.m_FishRank;
        m_FishKind    = dataFishInfo.m_FishKind;
        m_FishSex     = dataFishInfo.m_FishSex;
        m_FishShape   = new FishShape(dataFishInfo.m_Shape, dataFishInfo.m_Color);
        m_lFishStates = dataFishInfo.m_lFishStates;

        // default get level of baby fish
        if (dataFishInfo.m_lLevelInfo.Count >= 0)
        {
            FishLevelInfo babyInfo = dataFishInfo.m_lLevelInfo[0];
            UpdateFishLevelInfo(babyInfo);
        }
    }
示例#4
0
    /// <summary>
    /// Merge fish condition
    /// </summary>
    public static Fish.FishRank operator +(FishInfo info1, FishInfo info2)
    {
        // check sex condition
        if (info1.m_FishSex == info2.m_FishSex)
        {
            return(Fish.FishRank.None);
        }
        if (info1.m_FishSex == Fish.FishSex.None || info2.m_FishSex == Fish.FishSex.None)
        {
            return(Fish.FishRank.None);
        }

        // check fish progress condition
        if (info1.m_FishXP.m_FishLevel != info2.m_FishXP.m_FishLevel)
        {
            return(Fish.FishRank.None);
        }

        // check fish rank condition
        if (info1.m_FishRank != info2.m_FishRank)
        {
            return(Fish.FishRank.None);
        }

        int total   = (int)Fish.FishRank.Total;
        int current = (int)info1.m_FishRank;
        int newRank = current + 1;

        if (newRank >= total)
        {
            return(Fish.FishRank.None);
        }

        Fish.FishRank rank = (Fish.FishRank)newRank;
        return(rank);
    }
示例#5
0
    /// <summary>
    /// Merge fish
    /// </summary>
    public Fish MergeFish(Fish fish1, Fish fish2)
    {
        Fish.FishRank rank = fish1 + fish2;

        return(null);
    }