Пример #1
0
    void Start()
    {
        animator     = gameObject.GetComponent <Animator>();
        boxColl      = gameObject.GetComponent <BoxCollider2D>();
        registerTile = gameObject.GetComponent <RegisterTile>();
        if (!usingAnimator)
        {
            foreach (Transform child in transform)
            {
                switch (child.gameObject.name)
                {
                case "overlay_Lights":
                    overlay_Lights = child.gameObject.GetComponent <SpriteRenderer>();
                    break;

                case "overlay_Glass":
                    overlay_Glass = child.gameObject.GetComponent <SpriteRenderer>();
                    break;

                case "doorbase":
                    doorbase = child.gameObject.GetComponent <SpriteRenderer>();
                    break;
                }
            }
        }

        sprites        = SpriteManager.DoorSprites[doorType.ToString()];
        overlaySprites = SpriteManager.DoorSprites["overlays"];
    }
Пример #2
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine(base.ToString());
            sb.AppendLine("Color : " + Colors.ToString());
            sb.AppendLine("Doors: " + DoorType.ToString());

            return(sb.ToString());
        }
Пример #3
0
        private void DisassmItem(ItemSeeker seeker)
        {
            result.AppendLine();

            switch (seeker.ItemType)
            {
            case ItemTypeIndex.Nothing:
                throw new ItemDisassmException("Encountered an unexpected item type when disassembling an item.");

            case ItemTypeIndex.Enemy:
                // byte: Enemy code and sprite slot
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Enemy, sprite slot = " + seeker.SpriteSlot.ToString());
                // byte: hard flag (0x80), enemy type
                WriteLine(ByteDirective(seeker.SubTypeByte),
                          "Enemy type = " + seeker.EnemyTypeIndex + (seeker.EnemyIsHard ? ", hard enemy" : ""));
                // Byte: screen position
                WriteLine(ByteDirective(seeker.ScreenPosition.Value),
                          "Screen X = " + seeker.ScreenPosition.X.ToString() + "  Y = " + seeker.ScreenPosition.Y.ToString());
                break;

            case ItemTypeIndex.PowerUp:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Power Up");
                // byte: Item type
                WriteLine(ByteDirective(seeker.SubTypeByte),
                          "Type = " + seeker.PowerUpName);
                // Byte: screen position
                WriteLine(ByteDirective(seeker.ScreenPosition.Value),
                          "Screen X = " + seeker.ScreenPosition.X.ToString() + "  Y = " + seeker.ScreenPosition.Y.ToString());
                break;

            case ItemTypeIndex.Mella:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Mella");
                break;

            case ItemTypeIndex.Elevator:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Elevator");
                // byte: Item type
                WriteLine(ByteDirective(seeker.SubTypeByte),
                          "Type = " + seeker.Destination.ToString());
                break;

            case ItemTypeIndex.Turret:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Turret, type = " + seeker.SpriteSlot.ToString());
                // Byte: screen position
                WriteLine(ByteDirective(seeker.ScreenPosition.Value),
                          "Screen X = " + seeker.ScreenPosition.X.ToString() + "  Y = " + seeker.ScreenPosition.Y.ToString());
                break;

            case ItemTypeIndex.MotherBrain:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Mother Brain");
                break;

            case ItemTypeIndex.Zebetite:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Zebetite, index = " + seeker.SpriteSlot.ToString());
                break;

            case ItemTypeIndex.Rinkas:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Rinka " + seeker.SpriteSlot.ToString());
                break;

            case ItemTypeIndex.Door:
                // byte: Door
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Doop");
                // byte: Door type
                var      doorType = seeker.SubTypeByte;
                DoorSide side     = (DoorSide)(doorType & 0xF0);
                DoorType type     = (DoorType)(doorType & 0x0F);
                WriteLine(ByteDirective(seeker.SubTypeByte),
                          "Door: " + side.ToString() + " " + type.ToString());
                break;

            case ItemTypeIndex.PalSwap:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Palette Swap");
                break;

            case ItemTypeIndex.Unused_b:
            case ItemTypeIndex.Unused_c:
            case ItemTypeIndex.Unused_d:
            case ItemTypeIndex.Unused_e:
            case ItemTypeIndex.Unused_f:
                // byte: Item code
                WriteLine(ByteDirective(seeker.ItemTypeByte),
                          "Invalid Item Type!");
                break;

            default:
                throw new ItemDisassmException("Unexpected item type in DisassmItem");
                break;
            }
        }