/// <summary> /// Affects all competences to the slots /// </summary> /// <param name="equipmentSet"></param> public void ComposeCompetenceSet(EquipmentsSet equipmentSet) { if (equipmentSet.GetHullEquipment != null) { if (equipmentSet.GetHullEquipment.GetPrimaryComp != null) { hullCompetence = ScriptableObject.Instantiate(equipmentSet.GetHullEquipment.GetPrimaryComp); hullCompetence.LinkEquipment(equipmentSet.GetHullEquipment); } } if (equipmentSet.GetMainWeaponEquipment != null) { if (equipmentSet.GetMainWeaponEquipment.GetPrimaryComp != null) { mainWeaponPrimaryCompetence = ScriptableObject.Instantiate(equipmentSet.GetMainWeaponEquipment.GetPrimaryComp); mainWeaponPrimaryCompetence.LinkEquipment(equipmentSet.GetMainWeaponEquipment); } } if (equipmentSet.GetSecondaryWeaponEquipment != null) { if (equipmentSet.GetSecondaryWeaponEquipment.GetPrimaryComp != null) { secondaryWeaponCompetence = ScriptableObject.Instantiate(equipmentSet.GetSecondaryWeaponEquipment.GetPrimaryComp); secondaryWeaponCompetence.LinkEquipment(equipmentSet.GetSecondaryWeaponEquipment); } } }
public void UpdatePlayerEquipments() { EquipmentsSet equipmentsSet = shipCompositionManager.ComposeEquipmentSet(); IntersceneManager.intersceneManager.SetPlayerDatas(equipmentsSet); EquipmentsSet set = IntersceneManager.intersceneManager.GetPlayerDatas.GetPlayerEquipedEquipments; playerShip.EqpmntManager.SetUpEquipments(set); playerShip.PlrInterface.UpdateEquipments(playerShip, playerShip.EqpmntManager.EquipedEquipments); }
public void UpdateEquipments(Ship relatedShip, EquipmentsSet equipments) { CompetenceSet competenceSet = new CompetenceSet(); competenceSet.ComposeCompetenceSet(equipments); hullMainCompSlot.SetUp(competenceSet.HullCompetence, relatedShip); mainWeaponPrimaryCompSlot.SetUp(competenceSet.MainWeaponPrimaryCompetence, relatedShip); secondaryWeaponCompSlot.SetUp(competenceSet.SecondaryWeaponCompetence, relatedShip); //ChangeCompetencesAvailability(CompetencesUsabilityType.All); }
public static void SavePlayerEquipmentsDatas(EquipmentsSet equipmentSet, List <ShipEquipment> inventoryEquipments, int armorAmount, int goldAmount) { BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/playerEquipments.data"; FileStream stream = new FileStream(path, FileMode.Create); PlayerEquipmentsDatas data = new PlayerEquipmentsDatas(); data.SetPlayerEquipmentsData(equipmentSet, inventoryEquipments, armorAmount, goldAmount); formatter.Serialize(stream, data); stream.Close(); }
public void SetPlayerEquipmentsData(EquipmentsSet equipedEquipments, List <ShipEquipment> inventoryEquipments, int armorAmount, int goldAmount) { PlayerInventory playerInventory = new PlayerInventory(inventoryEquipments); #region Set List <int> playerEquipedEquipmentsIndexes = new List <int>(); if (equipedEquipments.GetHullEquipment != null) { playerEquipedEquipmentsIndexes.Add(equipedEquipments.GetHullEquipment.GetEquipmentSaveIndex); } else { playerEquipedEquipmentsIndexes.Add(-1); } if (equipedEquipments.GetMainWeaponEquipment != null) { playerEquipedEquipmentsIndexes.Add(equipedEquipments.GetMainWeaponEquipment.GetEquipmentSaveIndex); } else { playerEquipedEquipmentsIndexes.Add(-1); } if (equipedEquipments.GetSecondaryWeaponEquipment != null) { playerEquipedEquipmentsIndexes.Add(equipedEquipments.GetSecondaryWeaponEquipment.GetEquipmentSaveIndex); } else { playerEquipedEquipmentsIndexes.Add(-1); } playerEquipedEquipments = Serializations.SerializeListOfInt(playerEquipedEquipmentsIndexes); #endregion #region Inventory List <int> playerInventoryEquipmentsIndexes = new List <int>(); foreach (ShipEquipment equip in inventoryEquipments) { playerInventoryEquipmentsIndexes.Add(equip.GetEquipmentSaveIndex); } playerInventoryEquipments = Serializations.SerializeListOfInt(playerInventoryEquipmentsIndexes); #endregion playerArmorAmout = armorAmount; playerGoldAmount = goldAmount; }
public void SetUp(Ship relatedShip, EquipmentsSet equipments) { CompetenceSet competenceSet = new CompetenceSet(); competenceSet.ComposeCompetenceSet(equipments); hullMainCompSlot.SetUp(competenceSet.HullCompetence, relatedShip); mainWeaponPrimaryCompSlot.SetUp(competenceSet.MainWeaponPrimaryCompetence, relatedShip); secondaryWeaponCompSlot.SetUp(competenceSet.SecondaryWeaponCompetence, relatedShip); uiElementsInteractionsManager.SetUp(); blindingMaskClearColor = blindingMaskMaxColor; blindingMaskClearColor.a = 0; blindingMask.color = blindingMaskClearColor; }
public void StartLaunchArena() { if (loadingArena) { return; } mapManager.SavePlayerDatas(); MapArenaSpot arenaSpot = mapManager.GetOpenedSpecialPlace as MapArenaSpot; if (arenaSpot == null) { return; } EquipmentsSet equipmentsSet = mapManager.ShipCompoManager.ComposeEquipmentSet(); if (equipmentsSet.GetHullEquipment == null) { Debug.LogWarning("Attention : il n'y a aucune coque sur ce bateau. Impossible de lancer le jeu."); return; } else { IntersceneManager.intersceneManager.SetPlayerDatas(equipmentsSet); } ArenaParameters launchedArenaParameters = arenaSpot.GetArenaParameters; string arenaBuildName = launchedArenaParameters.GetSceneToLoadName; try { IntersceneManager.intersceneManager.MapInterscInformations.SetMapIntersceneInfos(SceneManager.GetActiveScene().name, GameManager.gameManager.Player.transform.position, launchedArenaParameters.GetSpecialSceneToLoadAfterSuccesName); IntersceneManager.intersceneManager.ArenaInterscInformations.SetArenaLaunchInformations(launchedArenaParameters); //SceneManager.LoadSceneAsync(arenaBuildName); sceneToLoad = arenaBuildName; loadingArena = true; GameManager.gameManager.LoadScreenManager.StartEndLoad(LaunchArena); } catch { Debug.LogWarning("Cette scene n'existe pas ou n'as pas été ajoutée à la liste des scenes buildées"); } }
public void Reinitialize() { playerGoldAmount = 0; playerCurrentArmorValue = 0; playerEquipedEquipments = new EquipmentsSet(); }
public void SetEquipedEquipements(EquipmentsSet equipedEquipments) { playerEquipedEquipments = equipedEquipments; }
public void SetPlayerEquipmentsSet(EquipmentsSet set) { compositionInterface.SetEquipmentSet(set); }
public void SetUpProjectilesPooling() { if (enemySpawningManager == null) { gameManager.PoolManager.GenerateProjectilePoolDisctionary(); return; } List <ProjectilePoolTag> allProjectilesUsed = new List <ProjectilePoolTag>(); #region Spawning List <EnemyShipPoolTag> allUsedEnemies = enemySpawningManager.GetAllUsedEnemiesTags; foreach (EnemyShipPoolTag enemyTag in allUsedEnemies) { EnemyShip ship = gameManager.PoolManager.GetEnemyShip(enemyTag, PoolInteractionType.PeekPrefab); if (ship == null) { break; } ProjectilePoolTag usedProj = ship.GetUsedProjectileTag; if (!allProjectilesUsed.Contains(usedProj)) { allProjectilesUsed.Add(usedProj); } } #endregion #region Already Placed if (alreadyPlacedEnemies != null) { foreach (EnemyShip ship in alreadyPlacedEnemies) { ProjectilePoolTag projTag = ship.GetUsedProjectileTag; if (!allProjectilesUsed.Contains(projTag)) { allProjectilesUsed.Add(projTag); } } } #endregion #region Player EquipmentsSet playerEquipments = gameManager.Player.EqpmntManager.EquipedEquipments; ShipEquipment hullEquipment = playerEquipments.GetHullEquipment; if (hullEquipment != null) { CompetenceShoot canonShoot = hullEquipment.GetPrimaryComp as CompetenceShoot; if (canonShoot != null) { if (!allProjectilesUsed.Contains(canonShoot.GetUsedProjectilePoolTag)) { allProjectilesUsed.Add(canonShoot.GetUsedProjectilePoolTag); } } } ShipEquipment canonEquipment = playerEquipments.GetMainWeaponEquipment; if (canonEquipment != null) { CompetenceShoot canonShoot = canonEquipment.GetPrimaryComp as CompetenceShoot; if (canonShoot != null) { if (!allProjectilesUsed.Contains(canonShoot.GetUsedProjectilePoolTag)) { allProjectilesUsed.Add(canonShoot.GetUsedProjectilePoolTag); } } } ShipEquipment catapultEquipment = playerEquipments.GetSecondaryWeaponEquipment; if (catapultEquipment != null) { CompetenceShoot catapultShoot = catapultEquipment.GetPrimaryComp as CompetenceShoot; if (catapultShoot != null) { if (!allProjectilesUsed.Contains(catapultShoot.GetUsedProjectilePoolTag)) { allProjectilesUsed.Add(catapultShoot.GetUsedProjectilePoolTag); } } } #endregion gameManager.PoolManager.GenerateProjectilePoolDisctionary(allProjectilesUsed); }
/// <summary> /// Initialisation des équipements du joueur /// </summary> /// <param name="equipments">Equipements à équiper sur le joueurs</param> public void SetUpEquipments(EquipmentsSet equipments) { ClearInstantiatedObjects(); ShipEquipment hullEquipmentClone = null; if (equipments.GetHullEquipment != null) { ShipEquipmentHull hullEquip = equipments.GetHullEquipment as ShipEquipmentHull; if (hullEquip == null) { Debug.LogWarning("Pas une coque : impossible d'équiper"); } else { hullEquipmentClone = ScriptableObject.Instantiate(equipments.GetHullEquipment); List <EquipmentObject> hullEquipmentsObjects = hullEquipmentClone.InstantiateAllObjects(/*relatedShip.transform*/ equipmentObjectsParent, relatedShip); AddObjectsToInstantiatedObjects(hullEquipmentsObjects); relatedShip.PlrInterface.SetLifeBar(hullEquip.GetShipMaximumLife, Mathf.Clamp(IntersceneManager.intersceneManager.GetPlayerDatas.GetPlayerCurrentArmorValue, 0, hullEquip.GetShipMaximumArmor), hullEquip.GetShipMaximumArmor); relatedShip.LfManager.SetUpArmorAndLife(hullEquip.GetShipMaximumLife, Mathf.Clamp(IntersceneManager.intersceneManager.GetPlayerDatas.GetPlayerCurrentArmorValue, 0, hullEquip.GetShipMaximumArmor), hullEquip.GetShipMaximumArmor); if (hullEquip.GetHullPrefab != null) { relatedShip.ShipRenderManager.InstantiateHullRenderer(hullEquip.GetHullPrefab, (equipments.GetMainWeaponEquipment != null ? equipments.GetMainWeaponEquipment.GetEquipmentInformations.GetWeaponType : WeaponInformationType.MultiCanons)); } if (hullEquip.GetHullHitboxDimensions != Vector3.zero) { relatedShip.SetShipBoxColliderDimensions(hullEquip.GetHullHitboxDimensions); } } } ShipEquipment mainWeaponEquipmentClone = null; if (equipments.GetMainWeaponEquipment != null) { mainWeaponEquipmentClone = ScriptableObject.Instantiate(equipments.GetMainWeaponEquipment); List <EquipmentObject> mainWeaponEquipmentsObjects = mainWeaponEquipmentClone.InstantiateAllObjects(/*relatedShip.transform*/ equipmentObjectsParent, relatedShip); AddObjectsToInstantiatedObjects(mainWeaponEquipmentsObjects); } ShipEquipment secondaryWeaponEquipmentClone = null; if (equipments.GetSecondaryWeaponEquipment != null) { secondaryWeaponEquipmentClone = ScriptableObject.Instantiate(equipments.GetSecondaryWeaponEquipment); List <EquipmentObject> secondaryWeaponEquipmentsObjects = secondaryWeaponEquipmentClone.InstantiateAllObjects(/*relatedShip.transform*/ equipmentObjectsParent, relatedShip); AddObjectsToInstantiatedObjects(secondaryWeaponEquipmentsObjects); } #region Composition deck/compétences equipedEquipments = new EquipmentsSet(hullEquipmentClone, mainWeaponEquipmentClone, secondaryWeaponEquipmentClone); normalEquipParentRotation = equipmentObjectsParent.localRotation.eulerAngles; #endregion #region Hull ShipEquipmentHull hull = hullEquipmentClone as ShipEquipmentHull; if (hull != null) { relatedShip.ShipMvt.AffectMovementValues(hull.GetMovementParameters); } else { Debug.LogWarning("L'équipement affecté sur l'emplacement de la coque n'est pas de type 'Hull'"); } #endregion }
public void SetEquipmentSet(EquipmentsSet set) { hullSlot.SetPlacedEquipment(set.GetHullEquipment); mainWeaponSlot.SetPlacedEquipment(set.GetMainWeaponEquipment); secondaryWeaponSlot.SetPlacedEquipment(set.GetSecondaryWeaponEquipment); }
/// <summary> /// Utilisé pour composer les données à sauvegarder entre les différentes scènes /// </summary> /// <param name="playerEquipments">La nouvelle liste d'équipements du joueur</param> public void SetPlayerDatas(EquipmentsSet playerEquipedEquipments) { playerDatas.SetEquipedEquipements(playerEquipedEquipments); }