public void addTrigger(GameObject tilego, Sprite Radius, List <ObjectSave> objectssave) { RatioFactory RF = new RatioFactory(); Vector2 Triggersize = new Vector2(RF.trigger_radiusx, RF.trigger_radiusy); tilego.AddComponent <BoxCollider2D>(); tilego.GetComponent <BoxCollider2D>().size = Triggersize; tilego.GetComponent <BoxCollider2D>().isTrigger = true; tilego.tag = "trigger"; trigger_type = new GameObject(tilego.name + "_type"); SpriteRenderer type = trigger_type.AddComponent <SpriteRenderer>(); if (objectCur.modifiers.ContainsKey("resource_type")) { type.sprite = GM.resource_types[objectCur.modifiers["resource_type"]]; } trigger_type.GetComponent <Transform>().position = tilego.GetComponent <Transform>().position + new Vector3(0, 0, -1.0f); trigger_type.GetComponent <Transform>().SetParent(tilego.GetComponent <Transform>()); trigger_radius = new GameObject(tilego.name + "_radius"); trigger_radius.AddComponent <SpriteRenderer>(); trigger_radius.GetComponent <SpriteRenderer>().sprite = Radius; trigger_radius.GetComponent <Transform>().localScale = Triggersize / 5; trigger_radius.GetComponent <Transform>().SetParent(trigger_type.GetComponent <Transform>()); trigger_type.SetActive(false); if ((objectCur.modifiers.ContainsKey("capacity_max")) && (objectCur.modifiers.ContainsKey("capacity_min")) && (objectssave.Count == 0)) { if (Convert.ToInt32(objectCur.modifiers["capacity_max"]) == -1) { if (Convert.ToInt32(objectCur.modifiers["capacity_min"]) == -1) { objectCur.modifiers["capacity"] = "99999"; } else { objectCur.modifiers["capacity"] = UnityEngine.Random.Range(Convert.ToInt32(objectCur.modifiers["capacity_min"]), 99999).ToString(); } } else { objectCur.modifiers["capacity"] = UnityEngine.Random.Range(Convert.ToInt32(objectCur.modifiers["capacity_min"]), Convert.ToInt32(objectCur.modifiers["capacity_max"]) + 1).ToString(); } } else if ((objectssave != null) && (objectssave.Find(os => os.id == objectCur.id).modifiers.ContainsKey("capacity") == true)) { objectCur.modifiers["capacity"] = objectssave.Find(os => os.id == objectCur.id).modifiers["capacity"]; } }
// public List<GameObject> PrefabTiles = new List<GameObject>(); public GameObject LoadGO(SaveData sdata) { GM = GameObject.Find("GameManager").GetComponent <GameManager>(); GameObject Tribe = new GameObject(sdata.tribesave.tribename); GameObject Tribe_Members = new GameObject("Tribe_Members"); Tribe_Members.AddComponent <SpriteRenderer>(); Tribe_Members.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Play/Sprite_Camp"); Tribe_Members.AddComponent <BoxCollider2D>(); Tribe_Members.AddComponent <TribeMembersGO>(); GameObject Tribe_Radius = new GameObject("Tribe_Radius"); RatioFactory RF = new RatioFactory(); Tribe_Radius.AddComponent <CircleCollider2D>(); Tribe_Radius.GetComponent <CircleCollider2D>().radius = RF.tribe_sightradius; Tribe_Radius.AddComponent <TribeRadiusGO>(); Tribe_Radius.GetComponent <CircleCollider2D>().isTrigger = true; Tribe_Radius.GetComponent <Transform>().SetParent(Tribe_Members.GetComponent <Transform>()); Tribe_Radius.AddComponent <SpriteRenderer>(); Sprite Radius = Resources.Load <Sprite>("Play/radius"); Tribe_Radius.GetComponent <SpriteRenderer>().sprite = Radius; Tribe_Radius.GetComponent <Transform>().position = new Vector3(Tribe_Radius.GetComponent <Transform>().position.x, Tribe_Radius.GetComponent <Transform>().position.y, GM.ZGround); Tribe_Radius.GetComponent <Transform>().localScale = new Vector3(RF.tribe_sightradius, RF.tribe_sightradius, 1.0f); Tribe_Radius.tag = "radius"; Tribe.AddComponent <TribeGO>(); TribeGO tribego = Tribe.GetComponent <TribeGO>(); GameObject Tribe_Fire = new GameObject("Tribe_Fire"); Tribe_Fire.AddComponent <SpriteRenderer>(); Sprite[] Fire = Resources.LoadAll <Sprite>("Play/Feu_Spritesheet"); Tribe_Fire.GetComponent <SpriteRenderer>().sprite = Fire[0]; Tribe_Members.GetComponent <TribeMembersGO>().fire = Tribe_Fire; Tribe_Members.GetComponent <TribeMembersGO>().firesprites = Fire; Tribe_Members.GetComponent <TribeMembersGO>().radius = Tribe_Radius; Vector3 frontfire = new Vector3(Tribe_Members.GetComponent <Transform>().position.x, Tribe_Members.GetComponent <Transform>().position.y, Tribe_Members.GetComponent <Transform>().position.z - 0.5f); Tribe_Fire.GetComponent <Transform>().position = frontfire; Tribe_Fire.GetComponent <Transform>().SetParent(Tribe_Members.GetComponent <Transform>()); tribego.tribeCurrent = sdata.tribesave; if (sdata.tribesave != null) { if (sdata.tribesave.members.Count > 0) { foreach (CharacterSave chara in sdata.tribesave.members) { GameObject newchar = new GameObject(chara.name); newchar.AddComponent <CharacterGO>(); newchar.GetComponent <CharacterGO>().charCurrent = chara; GameObject body = new GameObject(chara.name + "_Body"); Transform bodyT = body.GetComponent <Transform>(); bodyT.SetParent(newchar.GetComponent <Transform>()); bodyT.position = new Vector3(bodyT.position.x, bodyT.position.y, GM.ZCharacters + 5); body.AddComponent <SpriteRenderer>(); Sprite FaceSprite; if (chara.sexe == 0) { FaceSprite = GM.basesF[chara.Pic_base]; } else { FaceSprite = GM.basesM[chara.Pic_base]; } body.GetComponent <SpriteRenderer>().sprite = FaceSprite; GameObject paints = new GameObject(chara.name + "_Paints"); Transform paintsT = paints.GetComponent <Transform>(); paintsT.SetParent(newchar.GetComponent <Transform>()); paintsT.position = new Vector3(paintsT.position.x, paintsT.position.y, GM.ZCharacters + 4); paints.AddComponent <SpriteRenderer>(); Sprite PaintSprite; if (chara.sexe == 0) { PaintSprite = GM.paintsF[chara.Pic_paints]; } else { PaintSprite = GM.paintsM[chara.Pic_paints]; } paints.GetComponent <SpriteRenderer>().sprite = PaintSprite; GameObject hairs = new GameObject(chara.name + "_Hairs"); Transform hairsT = hairs.GetComponent <Transform>(); hairsT.SetParent(newchar.GetComponent <Transform>()); hairsT.position = new Vector3(hairsT.position.x, hairsT.position.y, GM.ZCharacters + 3); hairs.AddComponent <SpriteRenderer>(); Sprite HairsSprite; if (chara.sexe == 0) { HairsSprite = GM.hairsF[chara.Pic_hairs]; } else { HairsSprite = GM.hairsM[chara.Pic_hairs]; } hairs.GetComponent <SpriteRenderer>().sprite = HairsSprite; GameObject extra = new GameObject(chara.name + "_Extra"); Transform extraT = extra.GetComponent <Transform>(); extraT.SetParent(newchar.GetComponent <Transform>()); extraT.position = new Vector3(extraT.position.x, extraT.position.y, GM.ZCharacters + 2); extra.AddComponent <SpriteRenderer>(); Sprite ExtraSprite; if (chara.sexe == 0) { ExtraSprite = GM.jewelsF[chara.Pic_jewels]; } else { ExtraSprite = GM.beardsM[chara.Pic_beard]; } extra.GetComponent <SpriteRenderer>().sprite = ExtraSprite; GameObject clothes = new GameObject(chara.name + "_Clothes"); Transform clothesT = clothes.GetComponent <Transform>(); clothesT.SetParent(newchar.GetComponent <Transform>()); clothesT.position = new Vector3(clothesT.position.x, clothesT.position.y, GM.ZCharacters + 1); clothes.AddComponent <SpriteRenderer>(); Sprite ClothesSprite; if (chara.sexe == 0) { ClothesSprite = GM.clothesF[chara.Pic_clothes]; } else { ClothesSprite = GM.clothesM[chara.Pic_clothes]; } clothes.GetComponent <SpriteRenderer>().sprite = ClothesSprite; newchar.GetComponent <Transform>().position = Vector3.zero;//(chara.x, chara.y, chara.z); newchar.GetComponent <Transform>().SetParent(Tribe_Members.transform); paints.GetComponent <SpriteRenderer>().enabled = false; extra.GetComponent <SpriteRenderer>().enabled = false; clothes.GetComponent <SpriteRenderer>().enabled = false; hairs.GetComponent <SpriteRenderer>().enabled = false; body.GetComponent <SpriteRenderer>().enabled = false; tribego.CharsGO.Add(newchar); } Vector3 TribePos = new Vector3(sdata.tribesave.TribePosX, sdata.tribesave.TribePosY, GM.ZCharacters); Tribe_Members.GetComponent <Transform>().position = TribePos; } } return(Tribe); }