public override bool Update() { PositionGlobal gpos = gm.getGlobalPosition(npcNome); Debug.Log("gpos.initialized =" + gpos.initialized); if (!gpos.initialized) { gm.setGlobalPosition(npcNome); } return(true); }
// Use this for initialization void Start () { g = GameObject.FindGameObjectWithTag("GameManager"); gm = (GameController) g.GetComponent(typeof(GameController)); examinable = true; LoadState(); PositionGlobal pg = gm.getGlobalPosition(this.nome); Vector3 pos = pg.position; //if (pg.position != null) { // Debug.Log(this.nome+" position is: x="+pg.position.x+" y="+pg.position.y); // pos = pg.position; //} //else { // Debug.Log(this.nome+" position is: null"); // pos = transform.position; //} pos.z = pos.y; transform.position = pos; ani = this.GetComponent<Animator> (); if (ani != null) { dirX = ani.GetFloat("dirX"); dirY = ani.GetFloat("dirY"); ani.SetBool("running", false); } for (int i = 0; i < waypoints.Length; i++) { Vector3 position = waypoints[i].gameObject.transform.position; position.z = position.y; waypoints[i].gameObject.transform.position = position; } storedWaypoints = new ArrayList(); if (waypoints.Length > 0) { storedWaypoints.Add(waypoints[0].gameObject.transform.position); } currentIndex = 0; }
public bool LoadGame(string savefile) { if (fm.checkFile("GameData/saves", savefile, "sav")) { SaveGameStructure save = (SaveGameStructure)fm.ReadBinaryFile("GameData/saves", savefile, "sav"); inventorio = new Inventorio(); gerEstados.reset(); backlog.reset(); //Debug.Log("itempegos: "+save.itempegos.GetLength(0)); for (int i = 0; i < save.itempegos.GetLength(0); i++) { Debug.Log("item: " + save.itempegos[i, 0] + ", sprite: " + save.itempegos[i, 1]); inventorio.addItem(save.itempegos[i, 0], save.itempegos[i, 1]); } item_grid = inventorio.getItemGrid(); for (int i = 0; i < save.events.Length; i++) { if (save.events[i]) { gerEstados.setEventActive(i); } else { gerEstados.setEventDeactive(i); } } string[] nomes = save.nomes; for (int i = 0; i < nomes.Length; i++) { gerEstados.alterarEstado(nomes[i], save.states[i], null); PositionGlobal p = save.getPositionGlobal(i); if (nomes[i] != "Player") { if (p.initialized) { gerEstados.setGlobalPosition(nomes[i], p.position, p.scene_index); } } else { init_spot.transform.position = p.position; init_scene = p.scene_index; } } int n = save.profiles.GetLength(0); perfis = new Profile[n]; for (int i = 0; i < n; i++) { perfis[i] = new Profile(save.profiles[i, 0], save.profiles[i, 1], save.profiles[i, 2], save.profiles[i, 3]); } string[] rotulos = save.getRotulosBacklog(); for (int i = 0; i < rotulos.Length; i++) { backlog.addToBacklog(rotulos[i]); } _GI.PlayerNotes = save.getPlayerNotes(); init_music = save.music; init_anbient = save.anbient; pendingshowmenuGUI = save.show_menu; return(true); } return(false); }
public SaveGameStructure() { GameObject g = GameObject.FindGameObjectWithTag("GameManager"); GameController gm = (GameController)g.GetComponent(typeof(GameController)); show_menu = gm.GameInterface.ShowingQuickMenuGUI; //.show_menu_GUI; events = gm.getEvents(); ArrayList l = gm.getNomePersonagens(); nomes = new string[l.Count]; states = new int[l.Count]; positions = new PositionGlobalSerializable[l.Count]; for (int i = 0; i < l.Count; i++) { nomes[i] = (string)l[i]; states[i] = gm.getStateIndex(nomes[i]); PositionGlobal pg = gm.getGlobalPosition(nomes[i]); PositionGlobalSerializable pgs; pgs.is_initialized = pg.initialized; pgs.x = pg.position.x; pgs.y = pg.position.y; pgs.z = pg.position.z; pgs.scene_index = pg.scene_index; positions[i] = pgs; } Item[] IL = gm.getItems(); itempegos = new string[IL.Length, 2]; for (int i = 0; i < IL.Length; i++) { itempegos[i, 0] = IL[i].getNome(); itempegos[i, 1] = IL[i].getSpritePath(); } Profile[] perfis = gm.Profiles; profiles = new string[perfis.Length, 4]; for (int i = 0; i < perfis.Length; i++) { profiles[i, 0] = perfis[i].Nome; profiles[i, 1] = perfis[i].Idade; profiles[i, 2] = perfis[i].Sexo; profiles[i, 3] = perfis[i].Descricao; } BacklogManager bm = BacklogManager.getInstance(); Conversa[] historic = bm.getHistoric(); backlog = ""; for (int i = 0; i < historic.Length; i++) { Conversa c = historic[i]; backlog = backlog + c.getRotulo() + "\n"; } string[] playernotes = gm.GameInterface.PlayerNotes; notes = ""; for (int i = 0; i < playernotes.Length; i++) { if (playernotes[i].Length > 0) { notes = notes + i.ToString("00") + playernotes[i] + '\0'; } } //bnotes = Encoding.UTF8.GetBytes(notes); music = gm.getMusic(); anbient = gm.getAnbient(); }