Ejemplo n.º 1
0
    //This is a modified constructor of the Save class. When a Save object is created, it takes the
    //information from the MenuFunctions class and serializes it.
    public Save(MenuFunctions currentMenuFuncs)
    {
        vec3PositionsAsFloat    = new float[currentMenuFuncs.objectList.Count, 3];
        numObjectsSave          = currentMenuFuncs.objectList.Count;
        BlueOrPink              = currentMenuFuncs.GetBlueOrPinkList();
        theatreNameSave         = SessionData.myFileName;
        stageType               = SessionData.selectedStageType;
        setPieceDropdownIndexes = currentMenuFuncs.setPieceDropdownIndexes;
        scenes = currentMenuFuncs.GetSaveableScenesList();
        int i = 0, j = 0;


        //Following should convert all Vector3 objects into float arrays to be serialized.
        while (i < currentMenuFuncs.objectList.Count)
        {
            actorOrProp.Add(currentMenuFuncs.objectList[i].tag);
            vec3PositionsAsFloat[i, 0] = currentMenuFuncs.objectList[i].transform.position.x;
            vec3PositionsAsFloat[i, 1] = currentMenuFuncs.objectList[i].transform.position.y;
            vec3PositionsAsFloat[i, 2] = currentMenuFuncs.objectList[i].transform.position.z;
            i++;
        }

        //Following to convert static set pieces as serializable
        while (j < currentMenuFuncs.setList.Count)
        {
            actorOrPropSetList.Add(currentMenuFuncs.setList[j].tag);
            vec3PosForSetPieces[j, 0] = currentMenuFuncs.setList[j].transform.position.x;
            vec3PosForSetPieces[j, 1] = currentMenuFuncs.setList[j].transform.position.y;
            vec3PosForSetPieces[j, 2] = currentMenuFuncs.setList[j].transform.position.z;

            j++;
        }
        numSetList = currentMenuFuncs.setList.Count;
    }