コード例 #1
0
ファイル: GfxBloodManager.cs プロジェクト: zwong91/Titan
    /// <summary>
    /// 摧毁指定的组件
    /// </summary>
    /// <param name="instance">需要清除的Blood</param>
    public static void Destroy(GfxBlood instance)
    {
        if (Movie.GetSingleton <GfxBloodMovie>() == null)
        {
            return;
        }
        if (null == instance)
        {
            return;
        }
        int id = instance.ID;

        if (instance.movieNode.isValid)
        {
            UnUsedMovieNodeList.Enqueue(instance.movieNode);
        }

        if (GfxBloodMovie.Instance != null)
        {
            GfxBloodMovie.Instance.RemoveMovieAS3(instance.Instance);
        }
        instance.Clear();

        if (m_BloodMap.ContainsKey(id))
        {
            m_BloodMap[id] = null;
            m_BloodMap.Remove(id);
        }
        instance = null;
    }
コード例 #2
0
ファイル: GfxBloodManager.cs プロジェクト: zwong91/Titan
    /// <summary>
    /// 为血条分配一个位置,分配失败,则表示Movie已经满了。
    /// </summary>
    /// <param name="t"></param>
    /// <returns></returns>
    private static bool AllocBloodPos(ENTITY_TYPE t, ref MovieNode btr)
    {
        if (m_entiySizeMap.ContainsKey(t))
        {
            Vector2 BloodSize = m_entiySizeMap[t];
            btr.isValid = false;
            if (UnUsedMovieNodeList.Count > 0)
            {
                MovieNode bt = UnUsedMovieNodeList.Dequeue();
                btr.RowIndex = bt.RowIndex;
                btr.ColIndex = bt.ColIndex;

                btr.start.x = MovieCell_Width * bt.RowIndex;
                btr.start.y = MovieCell_Height * bt.ColIndex;

                btr.end.x = btr.start.x + BloodSize.x;
                btr.end.y = btr.start.y + BloodSize.y;
                btr.vSize = BloodSize;

                btr.isValid = true;
            }
            else
            {
                btr         = new MovieNode();
                btr.start.x = MovieCell_Width * CurrentRowIndex;
                btr.start.y = MovieCell_Height * CurrentColIndex;

                btr.end.x = btr.start.x + BloodSize.x;
                btr.end.y = btr.start.y + BloodSize.y;
                btr.vSize = BloodSize;


                btr.RowIndex = CurrentRowIndex;
                btr.ColIndex = CurrentColIndex;

                CurrentRowIndex++;
                if (CurrentRowIndex >= MaxRowCount)
                {
                    CurrentColIndex++;
                    if (CurrentColIndex >= MaxColCount)
                    {
                        return(false);
                    }
                    CurrentRowIndex = 0;
                }

                btr.isValid = true;
            }
            return(true);
        }

        return(false);
    }
コード例 #3
0
ファイル: TopNameManager.cs プロジェクト: zwong91/Titan
    /// <summary>
    /// 为头顶名分配一个位置,分配失败,则表示Movie已经满了。
    /// </summary>
    /// <param name="btr"></param>
    /// <returns></returns>
    private static bool AllocTopNamePos(ref MovieNode btr)
    {
        btr.isValid = false;
        if (UnUsedMovieNodeList.Count > 0)
        {
            MovieNode bt = UnUsedMovieNodeList.Dequeue();
            btr.RowIndex = bt.RowIndex;
            btr.ColIndex = bt.ColIndex;

            btr.start.x = MovieCell_Width * bt.RowIndex;
            btr.start.y = MovieCell_Height * bt.ColIndex;

            btr.end.x = btr.start.x + TopNameSize.x;
            btr.end.y = btr.start.y + TopNameSize.y;
            btr.vSize = TopNameSize;

            btr.isValid = true;
        }
        else
        {
            btr.start.x = MovieCell_Width * CurrentRowIndex;
            btr.start.y = MovieCell_Height * CurrentColIndex;

            btr.end.x = btr.start.x + TopNameSize.x;
            btr.end.y = btr.start.y + TopNameSize.y;
            btr.vSize = TopNameSize;


            btr.RowIndex = CurrentRowIndex;
            btr.ColIndex = CurrentColIndex;

            CurrentRowIndex++;
            if (CurrentRowIndex >= MaxRowCount)
            {
                CurrentColIndex++;
                if (CurrentColIndex >= MaxColCount)
                {
                    return(false);
                }
                CurrentRowIndex = 0;
            }

            btr.isValid = true;
        }
        return(true);
    }
コード例 #4
0
ファイル: GfxBloodManager.cs プロジェクト: zwong91/Titan
 /// <summary>
 /// 清除所有的组件
 /// </summary>
 public static void DestroyALL()
 {
     if (Movie.GetSingleton <GfxBloodMovie>() == null)
     {
         return;
     }
     ClearCache();
     if (null != m_BloodMap)
     {
         foreach (KeyValuePair <int, GfxBlood> var in m_BloodMap)
         {
             GfxBlood gba = var.Value;
             if (GfxBloodMovie.Instance != null)
             {
                 GfxBloodMovie.Instance.RemoveMovieAS3(gba.Instance);
             }
             gba.Clear();
         }
         CurrentColIndex = 0;
         CurrentRowIndex = 0;
         UnUsedMovieNodeList.Clear();
         m_BloodMap.Clear();
     }
     if (null != BossBlood)
     {
         if (GfxDynamicMovie.Instance != null)
         {
             GfxDynamicMovie.Instance.RemoveMovieAS3(BossBlood.Instance);
         }
         BossBlood.Clear();
         BossBlood             = null;
         CurrentBossBlodHostID = -1;
     }
     BossBloodEntityTable.Clear();
     BossBloodProityList.Clear();
     //GFxWarPauseMenu.BoolEvent -= ChangeBloodSetting;
 }
コード例 #5
0
ファイル: TopNameManager.cs プロジェクト: zwong91/Titan
    /// <summary>
    /// 摧毁所有的组件
    /// </summary>
    public static void DestroyALL()
    {
        if (Movie.GetSingleton <TopNameMovie>() == null)
        {
            return;
        }
        ClearCache();
        if (null != m_TopNameMap)
        {
            foreach (KeyValuePair <int, TopName> var in m_TopNameMap)
            {
                if (TopNameMovie.Instance != null)
                {
                    TopNameMovie.Instance.RemoveMovieAS3(var.Value.Instance);
                }
                var.Value.Clear();
            }
            m_TopNameMap.Clear();

            CurrentColIndex = 0;
            CurrentRowIndex = 0;
            UnUsedMovieNodeList.Clear();
        }
    }