示例#1
0
 public static void Init()
 {
     RoomInfo.Init();
     RoomGfxPal.Init();
     RoomPal.Init();
     RoomSprites.Init();
 }
示例#2
0
    void Awake()
    {
        roomSprites      = GameObject.Find("Room Sprites").GetComponent <RoomSprites>();
        sr               = GetComponent <SpriteRenderer>();
        currentGameLevel = GameObject.Find("GameManager").GetComponent <GameManager>().currentGameLevel;
        gameManager      = GameObject.Find("GameManager").GetComponent <GameManager>();
        cam              = GameObject.Find("Main Camera").GetComponent <Camera>();


        UpdateTile();
        SetWallTileColor();
    }
示例#3
0
    void Awake()
    {
        sr  = GetComponent <SpriteRenderer>();
        col = GetComponent <BoxCollider2D>();

        currentGameLevel = GameObject.Find("GameManager").GetComponent <GameManager>().currentGameLevel;
        roomSprites      = GameObject.Find("Room Sprites").GetComponent <RoomSprites>();
        gameManager      = GameObject.Find("GameManager").GetComponent <GameManager>();

        var r = Random.Range(0, roomSprites.floor.Length - 1);

        sr.sprite     = roomSprites.floor[r];
        defaultSprite = sr.sprite;

        r = Random.Range(0, roomSprites.critFloor.Length - 1);

        critSprite = roomSprites.critFloor[r];

        SetFloorTileColor();
    }
示例#4
0
            public static void Init()
            {
                Entries = Rom.ReadUShort(Address);
                Sprites = new List <RoomSprites> [Entries];
                int StartTable = 0x1132B58;

                int[] Addresses = new int[Entries];
                for (int i = 0; i < Entries * 4; i += 4)
                {
                    Addresses[i / 4] = StartTable + Rom[StartTable + 4 + i] + (Rom[StartTable + 5 + i] << 8) + (Rom[StartTable + 6 + i] << 16) + (Rom[StartTable + 7 + i] << 24);
                }
                for (int i = 0; i < Sprites.Length; i++)
                {
                    int pointer = Addresses[i];
                    Sprites[i] = new List <RoomSprites>();
                    Rom.Seek(pointer);
                    int j = 0;
                    while ((Rom[pointer] & 1) != 0)
                    {
                        var s = new RoomSprites();
                        s.room  = i / 5;
                        s.index = j;

                        Rom.SeekAdd(4);

                        s.Script = Rom.ReadByte();

                        Rom.SeekAdd(4);

                        byte ch = Rom.ReadByte();
                        s.Direction = (byte)((ch >> 1) & 7);

                        Rom.SeekAdd(6);

                        s.Sprite = Rom.ReadUShort();

                        ch  = Rom.ReadByte();
                        s.X = (short)((ch << 4) + 8);

                        ch  = Rom.ReadByte();
                        s.Y = (short)((ch << 4) + 15);

                        Rom.SeekAdd(4);

                        Sprites[i].Add(s);

                        j++;
                        pointer += 24;
                    }
                    if ((Rom[pointer] & 1) == 0)
                    {
                        var s = new RoomSprites();
                        s.room      = i / 5;
                        s.index     = j;
                        s.Script    = 0;
                        s.Direction = 0;
                        s.Sprite    = 0;
                        s.X         = 0;
                        s.Y         = 0;
                        Sprites[i].Add(s);
                        pointer += 4;
                    }
                }
            }
示例#5
0
            public static void Init()
            {
                Entries = Rom.ReadUShort(Address);
                Sprites = new List<RoomSprites>[Entries / 5];

                for (int i = 0; i < Sprites.Length; i++)
                {
                    int pointer = GetPointer((i * 5) + 4);
                    Sprites[i] = new List<RoomSprites>();
                    Rom.Seek(pointer);

                    int j = 0;
                    while((Rom[pointer] & 1) != 0)
                    {
                        var s = new RoomSprites();
                        s.room = i;
                        s.index = j;

                        Rom.SeekAdd(4);

                        s.Script = Rom.ReadByte();

                        Rom.SeekAdd(4);

                        byte ch = Rom.ReadByte();
                        s.Direction = (byte)((ch >> 1) & 7);

                        Rom.SeekAdd(6);

                        s.Sprite = Rom.ReadUShort();

                        ch = Rom.ReadByte();
                        s.X = (short)((ch << 4) + 8);

                        ch = Rom.ReadByte();
                        s.Y = (short)((ch << 4) + 15);

                        Rom.SeekAdd(4);

                        Sprites[i].Add(s);

                        j++;
                        pointer += 24;
                    }

                    if (Sprites[i].Count > 0)
                    {
                        var scriptNums = Sprites[i].Select(s => s.Script).ToArray();
                    }
                }
            }