override public void Execute() { Retain(); // create data package for breeding view BreedingCoupleDataModel coupleData = new BreedingCoupleDataModel(); var monsters = gameDataService.monsters; var images = gameDataService.imageCache; // Creating left element coupleData.leftMonsterId = coupleId.leftMonsterId; coupleData.leftMonsterName = monsters[coupleId.leftMonsterId].name; coupleData.leftMonsterDescription = monsters[coupleId.leftMonsterId].description; coupleData.leftMonsterLevel = monsters[coupleId.leftMonsterId].level; coupleData.leftMonsterTex = images[monsters[coupleId.leftMonsterId].full_img]; coupleData.leftMonsterType = monsters[coupleId.leftMonsterId].type; // Creating right element coupleData.rightMonsterId = coupleId.rightMonsterId; coupleData.rightMonsterName = monsters[coupleId.rightMonsterId].name; coupleData.rightMonsterDescription = monsters[coupleId.rightMonsterId].description; coupleData.rightMonsterLevel = monsters[coupleId.rightMonsterId].level; coupleData.rightMonsterTex = images[monsters[coupleId.rightMonsterId].full_img]; coupleData.rightMonsterType = monsters[coupleId.rightMonsterId].type; newCoupleSignal.Dispatch(coupleData); Release(); }
private void OnBreedingStart(BreedingCoupleDataModel couple) { rightMonsterTex.Value = couple.rightMonsterTex; rightMonsterName.Value = couple.rightMonsterName; rightMonsterDescription.Value = couple.rightMonsterDescription; leftMonsterTex.Value = couple.leftMonsterTex; leftMonsterName.Value = couple.leftMonsterName; leftMonsterDescription.Value = couple.leftMonsterDescription; // Activate animations view.loving_fx_left.SetActive(true); view.loving_fx_right.SetActive(true); view.electro_fx.SetActive(true); view.gem_aura_fx.SetActive(true); // Activate animations based on monster type switch (couple.leftMonsterType) { case "Fire Lion": view.fire_lion_fx_left.SetActive(true); break; case "Lord of Atlantis": view.atlantis_fx_left.SetActive(true); break; case "Pandalf": view.pandalf_fx_left.SetActive(true); break; case "Rockilla": break; default: break; } switch (couple.rightMonsterType) { case "Fire Lion": view.fire_lion_fx_right.SetActive(true); break; case "Lord of Atlantis": view.atlantis_fx_right.SetActive(true); break; case "Pandalf": view.pandalf_fx_right.SetActive(true); break; case "Rockilla": break; default: break; } // Generate a random breeding time int breedingTime = UnityEngine.Random.Range(MinBreedingTime, MaxBreedingTime + 1); StartCoroutine("BreedingProcess", breedingTime); view.ShowView(); }