示例#1
0
 public History(InGameObject.ActiveStatus status, Position pos, int activatingPoint)
 {
     this.status          = status;
     this.pos             = pos;
     this.activatingPoint = activatingPoint;
 }
示例#2
0
    // Method that loads the layers
    private void LoadLevelFromStringLayers(StageData sData)
    {
        int    HEIGHT  = sData.height;
        int    WIDTH   = sData.width;
        int    LAYERS  = sData.layer;
        string title   = sData.title;
        int    life    = sData.life;
        int    counter = 0;

        gameObjects = new Transform[WIDTH, HEIGHT, LAYERS];

        triggers        = new List <List <Vector3> >();
        tileLevelParent = GameObject.Find("TileLevel");
        if (tileLevelParent == null)
        {
            tileLevelParent = new GameObject("TileLevel");
            StageInfo stageInfo = tileLevelParent.AddComponent <StageInfo>();
            stageInfo.SetInitInfo(life, title);
            //background
            Instantiate(Resources.Load("Prefab/InGameObject/BackGround"), tileLevelParent.transform);
        }
        for (int i = 0; i < sData.triggerNum.Length; i++)
        {
            List <Vector3> temp = new List <Vector3>();
            for (int j = 0; j < sData.triggerNum[i]; j++)
            {
                temp.Add(sData.trigger[counter]);
                counter++;
            }
            triggers.Add(temp);
        }
        counter = 0;
        //set gameobject array
        for (int x = 0; x < WIDTH; x++)
        {
            for (int y = 0; y < HEIGHT; y++)
            {
                for (int z = 0; z < LAYERS; z++)
                {
                    currentX = x; currentY = y; currentZ = z;

                    previewStatus    = sData.state[counter];
                    previewThreshold = sData.threshold[counter];
                    Transform obj = CreateBlock(sData.level[counter], x, y, z);
                    gameObjects[x, y, z] = obj;
                    counter++;
                }
            }
        }
        //set triggers
        for (int x = 0; x < WIDTH; x++)
        {
            for (int y = 0; y < HEIGHT; y++)
            {
                for (int z = 0; z < LAYERS; z++)
                {
                    currentX = x; currentY = y; currentZ = z;
                    Transform obj = gameObjects[x, y, z];
                    if (obj != null)
                    {
                        currentObj = obj.GetComponent <InGameObject>();
                        if (currentObj.GetType() == typeof(FlipButton) || currentObj.GetType().IsSubclassOf(typeof(FlipButton)))
                        {
                            AttachOperands();
                        }
                    }
                }
            }
        }
        for (int x = 0; x < WIDTH; x++)
        {
            for (int y = 0; y < HEIGHT; y++)
            {
                for (int z = 0; z < LAYERS; z++)
                {
                    currentX = x; currentY = y; currentZ = z;
                    Transform obj = gameObjects[x, y, z];
                    if (obj != null)
                    {
                        currentObj = obj.GetComponent <InGameObject>();
                        if (currentObj != null)
                        {
                            currentObj.Teleport(currentObj.CurrentPos);
                        }
                    }
                }
            }
        }
    }