コード例 #1
0
ファイル: BloxBlockEd.cs プロジェクト: ljn398431/MyMakerTest
 public BloxBlockEd(BloxBlock b, BloxBlockEd prev, BloxBlockEd parentBlock, BloxBlockEd owningBlock, int fieldIdx)
 {
     UnityEngine.Debug.Log("BloxBlockEd init" + b.returnType + b + owningBlock);
     this.b           = b;
     this.def         = BloxEd.Instance.FindBlockDef(b);
     this.prev        = prev;
     this.parentBlock = parentBlock;
     this.owningBlock = owningBlock;
     this.fieldIdx    = fieldIdx;
     if (b.contextBlock != null)
     {
         this.contextBlock = new BloxBlockEd(b.contextBlock, null, null, this, -1);
     }
     if (((b.paramBlocks != null) ? b.paramBlocks.Length : 0) != 0)
     {
         this.paramBlocks = new BloxBlockEd[b.paramBlocks.Length];
         for (int i = 0; i < b.paramBlocks.Length; i++)
         {
             if (b.paramBlocks[i] != null)
             {
                 this.paramBlocks[i] = new BloxBlockEd(b.paramBlocks[i], null, null, this, i);
             }
         }
     }
     if (b.firstChild != null)
     {
         this.firstChild = new BloxBlockEd(b.firstChild, null, this, null, -1);
     }
     this.UpdateNextBlock(parentBlock);
 }
コード例 #2
0
ファイル: BloxBlockEd.cs プロジェクト: ljn398431/MyMakerIL
 public BloxBlockEd(BloxBlock b, BloxBlockEd prev, BloxBlockEd parentBlock, BloxBlockEd owningBlock, int fieldIdx, bool checkNextToo = true)
 {
     //Debug.Log("BloxBlockEd", "BloxBlockEd", Color.cyan);
     this.b           = b;
     this.def         = BloxEd.Instance.FindBlockDef(b);
     this.prev        = prev;
     this.parentBlock = parentBlock;
     this.owningBlock = owningBlock;
     if (owningBlock != null)
     {
         Debug.Log("b" + b.ident, "BloxBlockEd", Color.green);
         Debug.Log("owningBlock" + owningBlock.b.ident, "BloxBlockEd", Color.green);
     }
     this.fieldIdx = fieldIdx;
     if (b.contextBlock != null)
     {
         this.contextBlock = new BloxBlockEd(b.contextBlock, null, null, this, -1, true);
     }
     if (((b.paramBlocks != null) ? b.paramBlocks.Length : 0) != 0)
     {
         this.paramBlocks = new BloxBlockEd[b.paramBlocks.Length];
         for (int i = 0; i < b.paramBlocks.Length; i++)
         {
             if (b.paramBlocks[i] != null)
             {
                 this.paramBlocks[i] = new BloxBlockEd(b.paramBlocks[i], null, null, this, i, true);
             }
         }
     }
     if (b.firstChild != null)
     {
         this.firstChild = new BloxBlockEd(b.firstChild, null, this, null, -1, false);
         BloxBlockEd bloxBlockEd = this.firstChild;
         while (bloxBlockEd.b.next != null)
         {
             bloxBlockEd.next = new BloxBlockEd(bloxBlockEd.b.next, bloxBlockEd, this, null, -1, false);
             bloxBlockEd      = bloxBlockEd.next;
         }
     }
     if (checkNextToo)
     {
         this.UpdateNextBlock(parentBlock);
     }
 }
コード例 #3
0
ファイル: BloxEventEd.cs プロジェクト: ljn398431/MyMakerTest
        private bool CheckBlockDef(BloxBlockEd bdi)
        {
            BloxBlock _ = bdi.b;

            if (bdi.b.blockType != 0 && (bdi.b.mi == null || bdi.b.mi.IsValid))
            {
                if (bdi.def == null)
                {
                    bdi.def = BloxEd.Instance.FindBlockDef(bdi.b);
                    if (((bdi.def != null) ? bdi.def.blockType : BloxBlockType.Unknown) != 0)
                    {
                        goto IL_0078;
                    }
                    this.hasUndefinedblocks = true;
                    return(true);
                }
                goto IL_0078;
            }
            this.hasUndefinedblocks = true;
            return(true);

IL_0078:
            if (bdi.contextBlock != null && this.CheckBlockDef(bdi.contextBlock))
            {
                return(true);
            }
            for (int i = 0; i < bdi.paramBlocks.Length; i++)
            {
                if (bdi.paramBlocks[i] != null && this.CheckBlockDef(bdi.paramBlocks[i]))
                {
                    return(true);
                }
            }
            for (bdi = bdi.firstChild; bdi != null; bdi = bdi.next)
            {
                if (this.CheckBlockDef(bdi))
                {
                    return(true);
                }
            }
            return(false);
        }
コード例 #4
0
 public override void CopyTo(BloxBlock block)
 {
     base.CopyTo(block);
     (block as Comment_Block).message = this.message;
 }