Example #1
0
 private void Awake()
 {
     MaxSpeed       = 1.8f;
     RigidBody      = GetComponent <Rigidbody2D>();
     Animator       = GetComponent <Animator>();
     SpriteRenderer = GetComponent <SpriteRenderer>();
     AlexaTag       = MainGame.Store().Get <string>("AlexaTag");
     RogerTag       = MainGame.Store().Get <string>("RogerTag");
     PreviousState  = StateNames.AlexaDown;
     CurrentParty   = GameObject.FindGameObjectWithTag("World").GetComponent <GameParty>();
 }
Example #2
0
    /// <summary>
    /// 读取存档数据,不处理异常
    /// </summary>
    /// <param name="fileName"></param>
    private static void loadGameData(string fileName)
    {
        //
        // header
        // HeaderData
        //
        // GameVariables
        // GameSwitches
        // GameSelfSwitches
        // GameScreen
        // GameMap
        FileStream fs = new FileStream(fileName, FileMode.Open);  // 读取文件

        // 反序列化内容
        byte[] lenBytes = new byte[4];
        int    len      = 0;
        int    offset   = 0;

        // header
        fs.Read(lenBytes, 0, 4);
        offset += lenBytes.Length;
        // HeaderData
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        Dictionary <string, string> headerData = (Dictionary <string, string>)loadObjData(fs, offset, len);

        offset += len;
        // GameVariables
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GameVariables gameVariables = (GameVariables)loadObjData(fs, offset, len);

        offset += len;
        // GameSwitches
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GameSwitches gameSwitches = (GameSwitches)loadObjData(fs, offset, len);

        offset += len;
        // GameSelfSwitches
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GameSelfSwitches gameSelfSwitches = (GameSelfSwitches)loadObjData(fs, offset, len);

        offset += len;
        // GameScreen
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GameScreen gameScreen = (GameScreen)loadObjData(fs, offset, len);

        offset += len;
        // GameMap
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GameMap gameMap = (GameMap)loadObjData(fs, offset, len);

        offset += len;
        // GamePlayer
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GamePlayer gamePlayer = (GamePlayer)loadObjData(fs, offset, len);

        offset += len;
        // GameParty
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        GameParty gameParty = (GameParty)loadObjData(fs, offset, len);

        offset += len;
        // bgm
        fs.Read(lenBytes, 0, 4);
        offset += 4;
        len     = BitConverter.ToInt32(lenBytes, 0);
        string bgmName = (string)loadObjData(fs, offset, len);

        offset += len;
        fs.Close();

        // 绑定新数据
        GameTemp.gameVariables    = gameVariables;
        GameTemp.gameSwitches     = gameSwitches;
        GameTemp.gameSelfSwitches = gameSelfSwitches;
        GameTemp.gameScreen       = gameScreen;
        GameTemp.gameMessage      = new GameMessage();
        GameTemp.gameChoice       = new GameChoice();
        GameTemp.gameMap          = gameMap;
        GameTemp.gamePlayer       = gamePlayer;
        GameTemp.gameParty        = gameParty;
        GameTemp.bgmName          = bgmName;
    }