Beispiel #1
0
        /** [Fee.Render2D.OnSprite2DMaterialUpdate_CallBackInterface]マテリアルの更新。描画の直前に呼び出される。
         */
        public bool OnSprite2DMaterialUpdate(Fee.Render2D.Sprite2D a_sprite2d, Fee.Render2D.Material_Item a_material_item)
        {
            bool t_setpass = true;

            //メインテクスチャー設定。
            a_material_item.SetProperty_MainTexture(UnityEngine.Texture2D.whiteTexture);

            //SetPass要求。
            return(t_setpass);
        }
Beispiel #2
0
 /** constructor
  */
 public Sprite2D_Fade(Fee.Deleter.Deleter a_deleter, long a_drawpriority)
 {
     this.sprite = Fee.Render2D.Sprite2D.Create(a_deleter, a_drawpriority);
     this.sprite.SetMaterialType(Fee.Render2D.Config.MaterialType.Simple);
     this.sprite.SetOnSprite2DMaterialUpdate(this);
 }
Beispiel #3
0
        /** スプライトインデックス。計算。
         */
        public void CalcSpriteIndex(SpriteList a_spritelist)
        {
            //リセット。
            for (int ii = 0; ii < this.list.Length; ii++)
            {
                this.list[ii].ResetSpriteIndex();
            }

            //スプライト。
            {
                int       t_calc_mode      = 0;
                int       t_calc_layer     = 0;
                int       t_calc_index     = 0;
                LayerItem t_calc_layeritem = this.list[t_calc_layer];

                while (t_calc_index < a_spritelist.GetListMax())
                {
                    Fee.Render2D.Sprite2D t_sprite = a_spritelist.GetItem(t_calc_index);
                    int t_layerindex = this.CalcLayerIndexFromDrawPriority(t_sprite.GetDrawPriority());

                    if (t_calc_layer < this.list.Length)
                    {
                        if (t_calc_mode == 0)
                        {
                            //開始インデックス。

                            if (t_layerindex < 0)
                            {
                                //除外。
                                t_calc_index++;
                            }
                            else
                            {
                                if (t_calc_layer == t_layerindex)
                                {
                                    //開始位置発見。
                                    t_calc_layeritem.sprite_index_start = t_calc_index;
                                    t_calc_layeritem.sprite_index_last  = t_calc_index;

                                    t_calc_index++;
                                    t_calc_mode = 1;
                                }
                                else
                                {
                                    //再チェック。
                                    t_calc_layeritem.sprite_index_start = -1;
                                    t_calc_layeritem.sprite_index_last  = -1;

                                    t_calc_layer++;
                                    t_calc_layeritem = this.list[t_calc_layer];
                                    t_calc_mode      = 0;
                                }
                            }
                        }
                        else
                        {
                            //終了インデックス。

                            if (t_calc_layer == t_layerindex)
                            {
                                //終了インデックス候補。
                                t_calc_layeritem.sprite_index_last = t_calc_index;
                                t_calc_index++;
                            }
                            else
                            {
                                //再チェック。
                                t_calc_layer++;
                                t_calc_layeritem = this.list[t_calc_layer];
                                t_calc_mode      = 0;
                            }
                        }
                    }
                }
            }
        }