private void Recv_CreatePlayer_Ntf(Message.Dungeon.MsgSvrCli_CreatePlayer_Ntf ntf) { Unit unit = GameObject.Instantiate <Unit>(player_prefab); unit.seq = ntf.unit_seq; unit.GetComponent <PlayerController>().enabled = false; unit.position = new Vector2Int(ntf.position.x, ntf.position.y); unit.transform.SetParent(unit_root, false); foreach (UInt32 itemIndex in ntf.equip_items) { Item.Meta meta = Item.Manager.Instance.FindMeta(itemIndex); unit.GetComponent <Player>().OnEquip(meta.equip.part, meta.equip.item_sprite); } units.Add(unit.seq, unit); }
public void AddItemMeta(Item.Meta meta) { metas.Add(meta.id, meta); }
private void Recv_CreateDungeon_Ans(Message.Dungeon.MsgSvrCli_CreateDungeon_Ans ans) { GameManager.Instance.LobbySession.UnregisterHandler <Message.Dungeon.MsgSvrCli_CreateDungeon_Ans>(Recv_CreateDungeon_Ans); if (Message.ErrorCode.Success != ans.error_code) { GameManager.Instance.ui.alert.Open("MsgSvrCli_CreateDungeon_Ans", ans.error_code.ToString() + "(" + ans.error_code.ToString() + ")"); return; } gameObject.SetActive(true); Camera.main.enabled = false; this.width = ans.width; this.height = ans.height; this.tiles = new List <Tile>(new Tile[width * height]); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { if (Message.DungeonTileType.Invalid == ans.tiles[y * width + x]) { continue; } GameObject obj = new GameObject(); obj.transform.SetParent(tile_root, false); obj.transform.localPosition = new Vector3(x, y, 0.0f); obj.SetActive(false); Tile tile = obj.AddComponent <Tile>(); int index = y * width + x; Message.DungeonTileType tileType = ans.tiles[index]; Vector2Int position = new Vector2Int(x, y); tile.Init(index, tileType, position); tiles[y * width + x] = tile; } } Unit player = GameObject.Instantiate <Unit>(player_prefab); player.seq = ans.unit_seq; player.GetComponent <PlayerController>().enabled = true; player.transform.SetParent(unit_root, false); player.position = new Vector2Int(ans.position.x, ans.position.y); units.Add(player.seq, player); foreach (var comrade in ans.comrades) { Unit unit = GameObject.Instantiate <Unit>(player_prefab); unit.seq = comrade.unit_seq; unit.GetComponent <PlayerController>().enabled = false; unit.transform.SetParent(unit_root, false); foreach (UInt32 itemIndex in comrade.equip_items) { Item.Meta meta = Item.Manager.Instance.FindMeta(itemIndex); unit.GetComponent <Player>().OnEquip(meta.equip.part, meta.equip.item_sprite); } unit.position = new Vector2Int(comrade.position.x, comrade.position.y); units.Add(unit.seq, unit); } /* * foreach (var monster in ans.monsters) * { * GameObject obj = new GameObject(); * obj.name = "Monster_" + monster.seq; * Unit unit = obj.AddComponent<Unit>(); * unit.seq = monster.seq; * unit.position = new Vector2Int(monster.position.x, monster.position.y); * //obj.transform.SetParent(GameManager.Instance.scenes.dungeon.transform); * obj.AddComponent<Monster>(); * //GameManager.Instance.scenes.dungeon.monsters[unit.seq] = unit; * } */ }
private void InitProduct(Product product, Item.Meta meta) { product.item_image.sprite = ResourceManager.Instance.Load <Sprite>(meta.sprite_path); product.meta = meta; }