add some extra assets FX and SFX

This commit is contained in:
Robii Aragon
2026-03-29 23:03:14 -07:00
parent 6ef3eb1535
commit 24dc66a81e
10142 changed files with 2535978 additions and 36608 deletions

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveDialogInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveElementsOnSceneInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveGameInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveInventoryBankInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveMeleeWeaponsInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveMissionsInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -7,311 +7,332 @@ using System;
public class savePlayerBlendshapesInfo : saveGameInfo
{
public characterCustomizationBlendshapesHelper mainCharacterCustomizationBlendshapesHelper;
public characterCustomizationBlendshapesHelper mainCharacterCustomizationBlendshapesHelper;
List<persistanceBlendshapesInfo> persistanceInfoList;
List<persistanceBlendshapesInfo> persistanceInfoList;
List<string> accessoriesList = new List<string> ();
List<string> accessoriesList = new List<string> ();
public override void saveGame (int saveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
saveGameContent (saveNumber, playerID, currentSaveDataPath, showDebugInfo, savingGameToChangeScene);
}
int characterModelID;
public override void loadGame (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
loadGameContent (saveNumberToLoad, playerID, currentSaveDataPath, showDebugInfo);
}
public override void initializeValuesOnComponent ()
{
initializeValues ();
}
bool loadInfoFound;
public void saveGameContent (int currentSaveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
if (mainCharacterCustomizationBlendshapesHelper == null) {
return;
}
if (showDebugInfo) {
print ("\n\n");
public override void saveGame (int saveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
saveGameContent (saveNumber, playerID, currentSaveDataPath, showDebugInfo, savingGameToChangeScene);
}
print ("Saving player blendshapes");
}
bool saveLocated = false;
bool playerLocated = false;
int saveSlotIndex = -1;
int listIndex = -1;
public override void loadGame (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
loadGameContent (saveNumberToLoad, playerID, currentSaveDataPath, showDebugInfo);
}
BinaryFormatter bf = new BinaryFormatter ();
FileStream file;
public override void initializeValuesOnComponent ()
{
initializeValues ();
}
mainCharacterCustomizationBlendshapesHelper.storeBlendshapesCustomization ();
public void saveGameContent (int currentSaveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
if (mainCharacterCustomizationBlendshapesHelper == null) {
return;
}
persistancePlayerBlendshapesInfo blendShapeListToSave = getPersistanceList (playerID, showDebugInfo);
if (showDebugInfo) {
print ("\n\n");
persistanceBlendshapesListBySaveSlotInfo newPersistanceListBySaveSlotInfo = new persistanceBlendshapesListBySaveSlotInfo ();
List<persistanceBlendshapesListBySaveSlotInfo> infoListToSave = new List<persistanceBlendshapesListBySaveSlotInfo> ();
print ("Saving player blendshapes");
}
if (File.Exists (currentSaveDataPath)) {
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToSave = currentData as List<persistanceBlendshapesListBySaveSlotInfo>;
bool saveLocated = false;
bool playerLocated = false;
file.Close ();
}
int saveSlotIndex = -1;
int listIndex = -1;
if (showDebugInfo) {
print ("Number of save list for player blendshapes " + infoListToSave.Count);
}
BinaryFormatter bf = new BinaryFormatter ();
FileStream file;
int infoListToSaveCount = infoListToSave.Count;
mainCharacterCustomizationBlendshapesHelper.storeBlendshapesCustomization ();
for (int j = 0; j < infoListToSaveCount; j++) {
if (saveSlotIndex == -1) {
persistanceBlendshapesListBySaveSlotInfo currentSlot = infoListToSave [j];
persistancePlayerBlendshapesInfo blendShapeListToSave = getPersistanceList (playerID, showDebugInfo);
if (ignoreSaveNumberOnSaveLoadInfo || currentSlot.saveNumber == currentSaveNumber) {
newPersistanceListBySaveSlotInfo = currentSlot;
saveLocated = true;
saveSlotIndex = j;
}
}
}
persistanceBlendshapesListBySaveSlotInfo newPersistanceListBySaveSlotInfo = new persistanceBlendshapesListBySaveSlotInfo ();
if (saveLocated) {
int listCount = newPersistanceListBySaveSlotInfo.playerBlendshapesList.Count;
List<persistanceBlendshapesListBySaveSlotInfo> infoListToSave = new List<persistanceBlendshapesListBySaveSlotInfo> ();
int playerIDToSearch = blendShapeListToSave.playerID;
if (File.Exists (currentSaveDataPath)) {
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToSave = currentData as List<persistanceBlendshapesListBySaveSlotInfo>;
for (int j = 0; j < listCount; j++) {
if (listIndex == -1) {
if (ignorePlayerIDOnSaveLoadInfo ||
newPersistanceListBySaveSlotInfo.playerBlendshapesList [j].playerID == playerIDToSearch) {
playerLocated = true;
listIndex = j;
}
}
}
}
file.Close ();
}
if (showDebugInfo) {
print ("\n\n");
if (showDebugInfo) {
print ("Number of save list for player blendshapes " + infoListToSave.Count);
}
print ("EXTRA INFO\n");
print ("PLAYER BLENDSHAPES");
print ("Number of blendshpaes: " + blendShapeListToSave.blendshapesList.Count);
print ("Current Save Number " + currentSaveNumber);
print ("Save Located " + saveLocated);
print ("Player Located " + playerLocated);
int infoListToSaveCount = infoListToSave.Count;
print ("Save List Index " + listIndex);
}
for (int j = 0; j < infoListToSaveCount; j++) {
if (saveSlotIndex == -1) {
persistanceBlendshapesListBySaveSlotInfo currentSlot = infoListToSave [j];
//if the save is located, check if the player id exists
if (saveLocated) {
//if player id exists, overwrite it
if (playerLocated) {
infoListToSave [saveSlotIndex].playerBlendshapesList [listIndex] = blendShapeListToSave;
} else {
infoListToSave [saveSlotIndex].playerBlendshapesList.Add (blendShapeListToSave);
}
} else {
newPersistanceListBySaveSlotInfo.saveNumber = currentSaveNumber;
newPersistanceListBySaveSlotInfo.playerBlendshapesList.Add (blendShapeListToSave);
if (ignoreSaveNumberOnSaveLoadInfo || currentSlot.saveNumber == currentSaveNumber) {
newPersistanceListBySaveSlotInfo = currentSlot;
saveLocated = true;
saveSlotIndex = j;
}
}
}
infoListToSave.Add (newPersistanceListBySaveSlotInfo);
}
if (saveLocated) {
int listCount = newPersistanceListBySaveSlotInfo.playerBlendshapesList.Count;
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.OpenOrCreate);
bf.Serialize (file, infoListToSave);
int playerIDToSearch = blendShapeListToSave.playerID;
file.Close ();
}
for (int j = 0; j < listCount; j++) {
if (listIndex == -1) {
if (ignorePlayerIDOnSaveLoadInfo ||
newPersistanceListBySaveSlotInfo.playerBlendshapesList [j].playerID == playerIDToSearch) {
playerLocated = true;
listIndex = j;
}
}
}
}
public void loadGameContent (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
if (mainCharacterCustomizationBlendshapesHelper == null) {
return;
}
if (showDebugInfo) {
print ("\n\n");
if (showDebugInfo) {
print ("\n\n");
print ("EXTRA INFO\n");
print ("PLAYER BLENDSHAPES");
print ("Number of blendshpaes: " + blendShapeListToSave.blendshapesList.Count);
print ("Current Save Number " + currentSaveNumber);
print ("Save Located " + saveLocated);
print ("Player Located " + playerLocated);
print ("Loading player blendshapes with PLAYER ID " + playerID);
}
persistanceInfoList = new List<persistanceBlendshapesInfo> ();
print ("Save List Index " + listIndex);
}
List<persistanceBlendshapesListBySaveSlotInfo> infoListToLoad = new List<persistanceBlendshapesListBySaveSlotInfo> ();
//if the save is located, check if the player id exists
if (saveLocated) {
//if player id exists, overwrite it
if (playerLocated) {
infoListToSave [saveSlotIndex].playerBlendshapesList [listIndex] = blendShapeListToSave;
} else {
infoListToSave [saveSlotIndex].playerBlendshapesList.Add (blendShapeListToSave);
}
} else {
newPersistanceListBySaveSlotInfo.saveNumber = currentSaveNumber;
newPersistanceListBySaveSlotInfo.playerBlendshapesList.Add (blendShapeListToSave);
if (File.Exists (currentSaveDataPath)) {
BinaryFormatter bf = new BinaryFormatter ();
FileStream file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToLoad = currentData as List<persistanceBlendshapesListBySaveSlotInfo>;
infoListToSave.Add (newPersistanceListBySaveSlotInfo);
}
file.Close ();
}
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.OpenOrCreate);
bf.Serialize (file, infoListToSave);
if (saveNumberToLoad > -1) {
file.Close ();
}
if (showDebugInfo) {
print (infoListToLoad.Count);
}
public void loadGameContent (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
if (mainCharacterCustomizationBlendshapesHelper == null) {
return;
}
persistanceBlendshapesListBySaveSlotInfo newPersistanceListBySaveSlotInfo = new persistanceBlendshapesListBySaveSlotInfo ();
if (showDebugInfo) {
print ("\n\n");
int infoListToLoadCount = infoListToLoad.Count;
print ("Loading player blendshapes with PLAYER ID " + playerID);
}
bool slotLocated = false;
persistanceInfoList = new List<persistanceBlendshapesInfo> ();
for (int j = 0; j < infoListToLoadCount; j++) {
if (!slotLocated) {
persistanceBlendshapesListBySaveSlotInfo currentSlot = infoListToLoad [j];
List<persistanceBlendshapesListBySaveSlotInfo> infoListToLoad = new List<persistanceBlendshapesListBySaveSlotInfo> ();
bool checkSlot = false;
if (File.Exists (currentSaveDataPath)) {
BinaryFormatter bf = new BinaryFormatter ();
FileStream file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToLoad = currentData as List<persistanceBlendshapesListBySaveSlotInfo>;
if (ignoreSaveNumberOnSaveLoadInfo) {
checkSlot = true;
}
file.Close ();
}
if (saveNumberToIgnoreSaveLoadInfo == saveNumberToLoad && saveNumberToIgnoreSaveLoadInfo > -1) {
checkSlot = true;
}
loadInfoFound = false;
if (currentSlot.saveNumber == saveNumberToLoad) {
checkSlot = true;
}
if (saveNumberToLoad > -1) {
if (checkSlot) {
newPersistanceListBySaveSlotInfo = currentSlot;
if (showDebugInfo) {
print (infoListToLoad.Count);
}
slotLocated = true;
}
}
}
persistanceBlendshapesListBySaveSlotInfo newPersistanceListBySaveSlotInfo = new persistanceBlendshapesListBySaveSlotInfo ();
int listIndex = -1;
int infoListToLoadCount = infoListToLoad.Count;
int listCount = newPersistanceListBySaveSlotInfo.playerBlendshapesList.Count;
bool slotLocated = false;
for (int j = 0; j < listCount; j++) {
if (listIndex == -1) {
bool checkSlot = false;
for (int j = 0; j < infoListToLoadCount; j++) {
if (!slotLocated) {
persistanceBlendshapesListBySaveSlotInfo currentSlot = infoListToLoad [j];
if (ignorePlayerIDOnSaveLoadInfo) {
checkSlot = true;
}
bool checkSlot = false;
if (saveNumberToIgnoreSaveLoadInfo == saveNumberToLoad && saveNumberToIgnoreSaveLoadInfo > -1) {
checkSlot = true;
}
if (ignoreSaveNumberOnSaveLoadInfo) {
checkSlot = true;
}
if (newPersistanceListBySaveSlotInfo.playerBlendshapesList [j].playerID == playerID) {
checkSlot = true;
}
if (saveNumberToIgnoreSaveLoadInfo == saveNumberToLoad && saveNumberToIgnoreSaveLoadInfo > -1) {
checkSlot = true;
}
if (checkSlot) {
listIndex = j;
}
}
}
if (currentSlot.saveNumber == saveNumberToLoad) {
checkSlot = true;
}
if (listIndex > -1) {
persistancePlayerBlendshapesInfo blendshapeListToLoad = newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex];
if (checkSlot) {
newPersistanceListBySaveSlotInfo = currentSlot;
persistanceInfoList.AddRange (newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex].blendshapesList);
slotLocated = true;
}
}
}
accessoriesList.AddRange (newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex].accessoriesList);
}
}
int listIndex = -1;
if (showDebugInfo) {
print ("\n\n");
int listCount = newPersistanceListBySaveSlotInfo.playerBlendshapesList.Count;
print ("PLAYER BLENDSHAPES");
for (int j = 0; j < listCount; j++) {
if (listIndex == -1) {
bool checkSlot = false;
print ("Blendshapes Loaded in Save Number " + saveNumberToLoad);
print ("Number of objects: " + persistanceInfoList.Count);
if (ignorePlayerIDOnSaveLoadInfo) {
checkSlot = true;
}
for (int j = 0; j < persistanceInfoList.Count; j++) {
persistanceBlendshapesInfo currentPersistanceBlendshapesInfo = persistanceInfoList [j];
if (saveNumberToIgnoreSaveLoadInfo == saveNumberToLoad && saveNumberToIgnoreSaveLoadInfo > -1) {
checkSlot = true;
}
print (currentPersistanceBlendshapesInfo.Name + " " + currentPersistanceBlendshapesInfo.blendShapeValue);
}
}
if (newPersistanceListBySaveSlotInfo.playerBlendshapesList [j].playerID == playerID) {
checkSlot = true;
}
loadInfoOnMainComponent ();
}
if (checkSlot) {
listIndex = j;
}
}
}
if (listIndex > -1) {
persistancePlayerBlendshapesInfo blendshapeListToLoad = newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex];
public persistancePlayerBlendshapesInfo getPersistanceList (int playerID, bool showDebugInfo)
{
persistancePlayerBlendshapesInfo newPersistancePlayerBlendshapesInfo = new persistancePlayerBlendshapesInfo ();
persistanceInfoList.AddRange (newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex].blendshapesList);
newPersistancePlayerBlendshapesInfo.playerID = playerID;
accessoriesList.AddRange (newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex].accessoriesList);
List<persistanceBlendshapesInfo> newPersistanceBlendshapesInfoList = new List<persistanceBlendshapesInfo> ();
characterModelID = newPersistanceListBySaveSlotInfo.playerBlendshapesList [listIndex].characterModelID;
List<characterCustomizationManager.temporalBlendshapeInfo> temporalBlendshapeInfoList = mainCharacterCustomizationBlendshapesHelper.temporalBlendshapeInfoList;
loadInfoFound = true;
}
}
int temporalBlendshapeInfoListCount = temporalBlendshapeInfoList.Count;
if (showDebugInfo) {
print ("\n\n");
for (int k = 0; k < temporalBlendshapeInfoListCount; k++) {
persistanceBlendshapesInfo newPersistanceBlendshapesInfo = new persistanceBlendshapesInfo ();
print ("PLAYER BLENDSHAPES");
characterCustomizationManager.temporalBlendshapeInfo currentBlendshape = temporalBlendshapeInfoList [k];
print ("Blendshapes Loaded in Save Number " + saveNumberToLoad);
print ("Number of objects: " + persistanceInfoList.Count);
newPersistanceBlendshapesInfo.Name = currentBlendshape.Name;
print ("Character Model ID " + characterModelID);
newPersistanceBlendshapesInfo.blendShapeValue = currentBlendshape.blendShapeValue;
for (int j = 0; j < persistanceInfoList.Count; j++) {
persistanceBlendshapesInfo currentPersistanceBlendshapesInfo = persistanceInfoList [j];
newPersistanceBlendshapesInfoList.Add (newPersistanceBlendshapesInfo);
}
print (currentPersistanceBlendshapesInfo.Name + " " + currentPersistanceBlendshapesInfo.blendShapeValue);
}
}
newPersistancePlayerBlendshapesInfo.blendshapesList = newPersistanceBlendshapesInfoList;
loadInfoOnMainComponent ();
}
newPersistancePlayerBlendshapesInfo.accessoriesList = mainCharacterCustomizationBlendshapesHelper.temporalCurrentAccessoriesList;
return newPersistancePlayerBlendshapesInfo;
}
public persistancePlayerBlendshapesInfo getPersistanceList (int playerID, bool showDebugInfo)
{
persistancePlayerBlendshapesInfo newPersistancePlayerBlendshapesInfo = new persistancePlayerBlendshapesInfo ();
newPersistancePlayerBlendshapesInfo.playerID = playerID;
void loadInfoOnMainComponent ()
{
initializeValues ();
List<persistanceBlendshapesInfo> newPersistanceBlendshapesInfoList = new List<persistanceBlendshapesInfo> ();
if (persistanceInfoList != null && persistanceInfoList.Count > 0) {
List<characterCustomizationManager.temporalBlendshapeInfo> temporalBlendshapeInfoList = mainCharacterCustomizationBlendshapesHelper.temporalBlendshapeInfoList;
int persistanceInfoListCount = persistanceInfoList.Count;
int temporalBlendshapeInfoListCount = temporalBlendshapeInfoList.Count;
for (int i = 0; i < persistanceInfoListCount; i++) {
for (int k = 0; k < temporalBlendshapeInfoListCount; k++) {
persistanceBlendshapesInfo newPersistanceBlendshapesInfo = new persistanceBlendshapesInfo ();
persistanceBlendshapesInfo currentPersistanceBlendshapesInfo = persistanceInfoList [i];
characterCustomizationManager.temporalBlendshapeInfo currentBlendshape = temporalBlendshapeInfoList [k];
characterCustomizationManager.temporalBlendshapeInfo newBlendshape = new characterCustomizationManager.temporalBlendshapeInfo ();
newPersistanceBlendshapesInfo.Name = currentBlendshape.Name;
newBlendshape.Name = currentPersistanceBlendshapesInfo.Name;
newBlendshape.blendShapeValue = currentPersistanceBlendshapesInfo.blendShapeValue;
newPersistanceBlendshapesInfo.blendShapeValue = currentBlendshape.blendShapeValue;
mainCharacterCustomizationBlendshapesHelper.temporalBlendshapeInfoList.Add (newBlendshape);
}
newPersistanceBlendshapesInfoList.Add (newPersistanceBlendshapesInfo);
}
mainCharacterCustomizationBlendshapesHelper.temporalCurrentAccessoriesList.AddRange (accessoriesList);
newPersistancePlayerBlendshapesInfo.blendshapesList = newPersistanceBlendshapesInfoList;
mainCharacterCustomizationBlendshapesHelper.setBlendshapeList ();
}
}
newPersistancePlayerBlendshapesInfo.accessoriesList = mainCharacterCustomizationBlendshapesHelper.temporalCurrentAccessoriesList;
void initializeValues ()
{
mainCharacterCustomizationBlendshapesHelper.checkMainCHaracterCustomizatationManager ();
}
newPersistancePlayerBlendshapesInfo.characterModelID = mainCharacterCustomizationBlendshapesHelper.getCurrentCharacterModelID ();
return newPersistancePlayerBlendshapesInfo;
}
void loadInfoOnMainComponent ()
{
initializeValues ();
if (loadInfoFound) {
mainCharacterCustomizationBlendshapesHelper.setCurrentCharacterModelID (characterModelID);
if (persistanceInfoList != null && persistanceInfoList.Count > 0) {
int persistanceInfoListCount = persistanceInfoList.Count;
for (int i = 0; i < persistanceInfoListCount; i++) {
persistanceBlendshapesInfo currentPersistanceBlendshapesInfo = persistanceInfoList [i];
characterCustomizationManager.temporalBlendshapeInfo newBlendshape = new characterCustomizationManager.temporalBlendshapeInfo ();
newBlendshape.Name = currentPersistanceBlendshapesInfo.Name;
newBlendshape.blendShapeValue = currentPersistanceBlendshapesInfo.blendShapeValue;
mainCharacterCustomizationBlendshapesHelper.temporalBlendshapeInfoList.Add (newBlendshape);
}
mainCharacterCustomizationBlendshapesHelper.temporalCurrentAccessoriesList.AddRange (accessoriesList);
mainCharacterCustomizationBlendshapesHelper.setBlendshapeList ();
}
}
}
void initializeValues ()
{
mainCharacterCustomizationBlendshapesHelper.checkMainCHaracterCustomizatationManager ();
}
}

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/savePlayerBlendshapesInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/savePlayerInventoryInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/savePlayerOptionsInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -7,328 +7,328 @@ using System;
public class savePlayerWeaponsInfo : saveGameInfo
{
public playerWeaponsManager mainPlayerWeaponsManager;
List<persistanceWeaponInfo> persistanceInfoList;
public override void saveGame (int saveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
saveGameContent (saveNumber, playerID, currentSaveDataPath, showDebugInfo, savingGameToChangeScene);
}
public override void loadGame (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
loadGameContent (saveNumberToLoad, playerID, currentSaveDataPath, showDebugInfo);
}
public override void initializeValuesOnComponent ()
{
initializeValues ();
}
public void saveGameContent (int currentSaveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
if (mainPlayerWeaponsManager == null) {
return;
}
if (!mainPlayerWeaponsManager.saveCurrentPlayerWeaponsToSaveFile) {
return;
}
if (showDebugInfo) {
print ("\n\n");
print ("Saving player weapons");
}
bool saveLocated = false;
bool playerLocated = false;
int saveSlotIndex = -1;
int listIndex = -1;
BinaryFormatter bf = new BinaryFormatter ();
FileStream file;
persistanceWeaponListByPlayerInfo weaponsToSave = getPersistanceList (playerID, showDebugInfo);
public playerWeaponsManager mainPlayerWeaponsManager;
List<persistanceWeaponInfo> persistanceInfoList;
persistanceWeaponListBySaveSlotInfo newPersistanceWeaponListBySaveSlotInfo = new persistanceWeaponListBySaveSlotInfo ();
List<persistanceWeaponListBySaveSlotInfo> infoListToSave = new List<persistanceWeaponListBySaveSlotInfo> ();
public override void saveGame (int saveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
saveGameContent (saveNumber, playerID, currentSaveDataPath, showDebugInfo, savingGameToChangeScene);
}
if (File.Exists (currentSaveDataPath)) {
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToSave = currentData as List<persistanceWeaponListBySaveSlotInfo>;
public override void loadGame (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
loadGameContent (saveNumberToLoad, playerID, currentSaveDataPath, showDebugInfo);
}
file.Close ();
}
public override void initializeValuesOnComponent ()
{
initializeValues ();
}
public void saveGameContent (int currentSaveNumber, int playerID, string currentSaveDataPath, bool showDebugInfo, bool savingGameToChangeScene)
{
if (mainPlayerWeaponsManager == null) {
return;
}
int infoListToSaveCount = infoListToSave.Count;
if (!mainPlayerWeaponsManager.saveCurrentPlayerWeaponsToSaveFile) {
return;
}
for (int j = 0; j < infoListToSaveCount; j++) {
if (infoListToSave [j].saveNumber == currentSaveNumber) {
newPersistanceWeaponListBySaveSlotInfo = infoListToSave [j];
saveLocated = true;
saveSlotIndex = j;
}
}
if (showDebugInfo) {
print ("\n\n");
if (saveLocated) {
int playerWeaponListCount = newPersistanceWeaponListBySaveSlotInfo.playerWeaponList.Count;
print ("Saving player weapons");
}
for (int j = 0; j < playerWeaponListCount; j++) {
if (newPersistanceWeaponListBySaveSlotInfo.playerWeaponList [j].playerID == weaponsToSave.playerID) {
playerLocated = true;
listIndex = j;
}
}
}
bool saveLocated = false;
bool playerLocated = false;
if (showDebugInfo) {
print ("\n\n");
int saveSlotIndex = -1;
int listIndex = -1;
print ("Number of weapons: " + weaponsToSave.weaponList.Count);
BinaryFormatter bf = new BinaryFormatter ();
FileStream file;
print ("Current Save Number " + currentSaveNumber);
print ("Save Located " + saveLocated);
print ("Player Located " + playerLocated);
}
persistanceWeaponListByPlayerInfo weaponsToSave = getPersistanceList (playerID, showDebugInfo);
//if the save is located, check if the player id exists
if (saveLocated) {
//if player id exists, overwrite it
if (playerLocated) {
infoListToSave [saveSlotIndex].playerWeaponList [listIndex].weaponList = weaponsToSave.weaponList;
} else {
infoListToSave [saveSlotIndex].playerWeaponList.Add (weaponsToSave);
}
} else {
newPersistanceWeaponListBySaveSlotInfo.saveNumber = currentSaveNumber;
newPersistanceWeaponListBySaveSlotInfo.playerWeaponList.Add (weaponsToSave);
infoListToSave.Add (newPersistanceWeaponListBySaveSlotInfo);
}
persistanceWeaponListBySaveSlotInfo newPersistanceWeaponListBySaveSlotInfo = new persistanceWeaponListBySaveSlotInfo ();
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.OpenOrCreate);
bf.Serialize (file, infoListToSave);
List<persistanceWeaponListBySaveSlotInfo> infoListToSave = new List<persistanceWeaponListBySaveSlotInfo> ();
file.Close ();
}
if (File.Exists (currentSaveDataPath)) {
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToSave = currentData as List<persistanceWeaponListBySaveSlotInfo>;
public void loadGameContent (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
if (mainPlayerWeaponsManager == null) {
return;
}
file.Close ();
}
if (!mainPlayerWeaponsManager.loadWeaponAttachmentsInfoFromSaveFile) {
initializeValues ();
int infoListToSaveCount = infoListToSave.Count;
return;
}
for (int j = 0; j < infoListToSaveCount; j++) {
if (infoListToSave [j].saveNumber == currentSaveNumber) {
newPersistanceWeaponListBySaveSlotInfo = infoListToSave [j];
saveLocated = true;
saveSlotIndex = j;
}
}
if (showDebugInfo) {
print ("\n\n");
if (saveLocated) {
int playerWeaponListCount = newPersistanceWeaponListBySaveSlotInfo.playerWeaponList.Count;
print ("Loading player weapons");
}
persistanceInfoList = new List<persistanceWeaponInfo> ();
for (int j = 0; j < playerWeaponListCount; j++) {
if (newPersistanceWeaponListBySaveSlotInfo.playerWeaponList [j].playerID == weaponsToSave.playerID) {
playerLocated = true;
listIndex = j;
}
}
}
List<persistanceWeaponListBySaveSlotInfo> infoListToLoad = new List<persistanceWeaponListBySaveSlotInfo> ();
if (showDebugInfo) {
print ("\n\n");
if (File.Exists (currentSaveDataPath)) {
BinaryFormatter bf = new BinaryFormatter ();
FileStream file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToLoad = currentData as List<persistanceWeaponListBySaveSlotInfo>;
print ("Number of weapons: " + weaponsToSave.weaponList.Count);
file.Close ();
}
print ("Current Save Number " + currentSaveNumber);
print ("Save Located " + saveLocated);
print ("Player Located " + playerLocated);
}
if (saveNumberToLoad > -1) {
persistanceWeaponListBySaveSlotInfo newPersistanceWeaponListBySaveSlotInfo = new persistanceWeaponListBySaveSlotInfo ();
//if the save is located, check if the player id exists
if (saveLocated) {
//if player id exists, overwrite it
if (playerLocated) {
infoListToSave [saveSlotIndex].playerWeaponList [listIndex].weaponList = weaponsToSave.weaponList;
} else {
infoListToSave [saveSlotIndex].playerWeaponList.Add (weaponsToSave);
}
} else {
newPersistanceWeaponListBySaveSlotInfo.saveNumber = currentSaveNumber;
newPersistanceWeaponListBySaveSlotInfo.playerWeaponList.Add (weaponsToSave);
infoListToSave.Add (newPersistanceWeaponListBySaveSlotInfo);
}
int infoListToLoadCount = infoListToLoad.Count;
bf = new BinaryFormatter ();
file = File.Open (currentSaveDataPath, FileMode.OpenOrCreate);
bf.Serialize (file, infoListToSave);
for (int j = 0; j < infoListToLoadCount; j++) {
if (infoListToLoad [j].saveNumber == saveNumberToLoad) {
newPersistanceWeaponListBySaveSlotInfo = infoListToLoad [j];
}
}
file.Close ();
}
int listIndex = -1;
public void loadGameContent (int saveNumberToLoad, int playerID, string currentSaveDataPath, bool showDebugInfo)
{
if (mainPlayerWeaponsManager == null) {
return;
}
int playerWeaponListCount = newPersistanceWeaponListBySaveSlotInfo.playerWeaponList.Count;
if (!mainPlayerWeaponsManager.loadWeaponAttachmentsInfoFromSaveFile) {
initializeValues ();
for (int j = 0; j < playerWeaponListCount; j++) {
if (newPersistanceWeaponListBySaveSlotInfo.playerWeaponList [j].playerID == playerID) {
listIndex = j;
}
}
return;
}
if (listIndex > -1) {
persistanceInfoList = newPersistanceWeaponListBySaveSlotInfo.playerWeaponList [listIndex].weaponList;
}
}
if (showDebugInfo) {
print ("\n\n");
if (showDebugInfo) {
print ("\n\n");
print ("Loading player weapons");
}
print ("Weapons Loaded in Save Number " + saveNumberToLoad);
print ("Weapons amount: " + persistanceInfoList.Count);
persistanceInfoList = new List<persistanceWeaponInfo> ();
for (int j = 0; j < persistanceInfoList.Count; j++) {
print ("Weapon Name: " + persistanceInfoList [j].Name + " Is Enabled: " + persistanceInfoList [j].isWeaponEnabled +
"Is Current Weapon: " + persistanceInfoList [j].isCurrentWeapon + " Remain Ammo: " + persistanceInfoList [j].remainingAmmo);
}
}
List<persistanceWeaponListBySaveSlotInfo> infoListToLoad = new List<persistanceWeaponListBySaveSlotInfo> ();
loadInfoOnMainComponent ();
}
if (File.Exists (currentSaveDataPath)) {
BinaryFormatter bf = new BinaryFormatter ();
FileStream file = File.Open (currentSaveDataPath, FileMode.Open);
object currentData = bf.Deserialize (file);
infoListToLoad = currentData as List<persistanceWeaponListBySaveSlotInfo>;
file.Close ();
}
public persistanceWeaponListByPlayerInfo getPersistanceList (int playerID, bool showDebugInfo)
{
persistanceWeaponListByPlayerInfo newPersistanceWeaponListByPlayerInfo = new persistanceWeaponListByPlayerInfo ();
if (saveNumberToLoad > -1) {
persistanceWeaponListBySaveSlotInfo newPersistanceWeaponListBySaveSlotInfo = new persistanceWeaponListBySaveSlotInfo ();
newPersistanceWeaponListByPlayerInfo.playerID = playerID;
int infoListToLoadCount = infoListToLoad.Count;
List<persistanceWeaponInfo> newPersistanceWeaponInfoList = new List<persistanceWeaponInfo> ();
for (int j = 0; j < infoListToLoadCount; j++) {
if (infoListToLoad [j].saveNumber == saveNumberToLoad) {
newPersistanceWeaponListBySaveSlotInfo = infoListToLoad [j];
}
}
List<IKWeaponSystem> weaponsList = mainPlayerWeaponsManager.weaponsList;
int listIndex = -1;
int weaponsListCount = weaponsList.Count;
int playerWeaponListCount = newPersistanceWeaponListBySaveSlotInfo.playerWeaponList.Count;
for (int k = 0; k < weaponsListCount; k++) {
persistanceWeaponInfo newPersistanceWeaponInfo = new persistanceWeaponInfo ();
for (int j = 0; j < playerWeaponListCount; j++) {
if (newPersistanceWeaponListBySaveSlotInfo.playerWeaponList [j].playerID == playerID) {
listIndex = j;
}
}
IKWeaponSystem currentWeapon = weaponsList [k];
if (listIndex > -1) {
persistanceInfoList = newPersistanceWeaponListBySaveSlotInfo.playerWeaponList [listIndex].weaponList;
}
}
newPersistanceWeaponInfo.Name = currentWeapon.getWeaponSystemName ();
newPersistanceWeaponInfo.index = k;
newPersistanceWeaponInfo.isWeaponEnabled = currentWeapon.isWeaponEnabled ();
newPersistanceWeaponInfo.isCurrentWeapon = currentWeapon.isCurrentWeapon ();
newPersistanceWeaponInfo.remainingAmmo = currentWeapon.getWeaponSystemManager ().weaponSettings.remainAmmo + currentWeapon.getWeaponSystemManager ().getWeaponClipSize ();
if (showDebugInfo) {
print ("\n\n");
if (mainPlayerWeaponsManager.saveWeaponAttachmentsInfoToSaveFile) {
if (currentWeapon.weaponUsesAttachment) {
newPersistanceWeaponInfo.weaponUsesAttachment = true;
print ("Weapons Loaded in Save Number " + saveNumberToLoad);
print ("Weapons amount: " + persistanceInfoList.Count);
weaponAttachmentSystem currentWeaponAttachmentSystem = currentWeapon.getWeaponAttachmentSystem ();
for (int j = 0; j < persistanceInfoList.Count; j++) {
print ("Weapon Name: " + persistanceInfoList [j].Name + " Is Enabled: " + persistanceInfoList [j].isWeaponEnabled +
"Is Current Weapon: " + persistanceInfoList [j].isCurrentWeapon + " Remain Ammo: " + persistanceInfoList [j].remainingAmmo);
}
}
if (currentWeaponAttachmentSystem != null) {
newPersistanceWeaponInfo.weaponAttachmentPlaceList = currentWeaponAttachmentSystem.getPersistanceAttachmentWeaponInfoList ();
}
}
loadInfoOnMainComponent ();
}
newPersistanceWeaponInfoList.Add (newPersistanceWeaponInfo);
}
}
newPersistanceWeaponListByPlayerInfo.weaponList = newPersistanceWeaponInfoList;
return newPersistanceWeaponListByPlayerInfo;
}
void loadInfoOnMainComponent ()
{
initializeValues ();
if (persistanceInfoList != null && persistanceInfoList.Count > 0) {
List<IKWeaponSystem> weaponsList = mainPlayerWeaponsManager.weaponsList;
if (mainPlayerWeaponsManager.storePickedWeaponsOnInventory) {
public persistanceWeaponListByPlayerInfo getPersistanceList (int playerID, bool showDebugInfo)
{
persistanceWeaponListByPlayerInfo newPersistanceWeaponListByPlayerInfo = new persistanceWeaponListByPlayerInfo ();
if (mainPlayerWeaponsManager.loadWeaponAttachmentsInfoFromSaveFile) {
if (mainPlayerWeaponsManager.loadCurrentPlayerWeaponsFromSaveFile) {
newPersistanceWeaponListByPlayerInfo.playerID = playerID;
int persistanceInfoListCount = persistanceInfoList.Count;
for (int i = 0; i < persistanceInfoListCount; i++) {
List<persistanceWeaponInfo> newPersistanceWeaponInfoList = new List<persistanceWeaponInfo> ();
persistanceWeaponInfo currentPersistanceWeaponInfo = persistanceInfoList [i];
int currentIndex = currentPersistanceWeaponInfo.index;
if (weaponsList.Count > currentIndex && currentIndex > -1) {
IKWeaponSystem currentIKWeaponToCheck = weaponsList [currentIndex];
if (currentPersistanceWeaponInfo.weaponUsesAttachment) {
weaponAttachmentSystem currentWeaponAttachmentSystem = currentIKWeaponToCheck.getWeaponAttachmentSystem ();
if (currentWeaponAttachmentSystem != null) {
currentWeaponAttachmentSystem.initializeAttachmentValues (currentPersistanceWeaponInfo.weaponAttachmentPlaceList);
}
}
}
}
}
}
return;
}
if (mainPlayerWeaponsManager.loadCurrentPlayerWeaponsFromSaveFile) {
bool thereIsCurrentWeapon = false;
int persistanceInfoListCount = persistanceInfoList.Count;
for (int i = 0; i < persistanceInfoListCount; i++) {
persistanceWeaponInfo currentPersistanceWeaponInfo = persistanceInfoList [i];
int currentIndex = currentPersistanceWeaponInfo.index;
if (weaponsList.Count > currentIndex && currentIndex > -1) {
IKWeaponSystem currentIKWeaponToCheck = weaponsList [currentIndex];
currentIKWeaponToCheck.setWeaponEnabledState (currentPersistanceWeaponInfo.isWeaponEnabled);
currentIKWeaponToCheck.setCurrentWeaponState (currentPersistanceWeaponInfo.isCurrentWeapon);
currentIKWeaponToCheck.weaponSystemManager.weaponSettings.remainAmmo = currentPersistanceWeaponInfo.remainingAmmo
- currentIKWeaponToCheck.weaponSystemManager.getWeaponClipSize ();
if (currentIKWeaponToCheck.isCurrentWeapon ()) {
thereIsCurrentWeapon = true;
}
if (mainPlayerWeaponsManager.loadWeaponAttachmentsInfoFromSaveFile) {
if (currentPersistanceWeaponInfo.weaponUsesAttachment) {
weaponAttachmentSystem currentWeaponAttachmentSystem = currentIKWeaponToCheck.getWeaponAttachmentSystem ();
if (currentWeaponAttachmentSystem != null) {
currentWeaponAttachmentSystem.initializeAttachmentValues (currentPersistanceWeaponInfo.weaponAttachmentPlaceList);
}
}
}
}
}
if (!thereIsCurrentWeapon) {
int weaponsListCount = weaponsList.Count;
for (int k = 0; k < weaponsListCount; k++) {
IKWeaponSystem currentIKWeaponToCheck = weaponsList [k];
if (!thereIsCurrentWeapon && currentIKWeaponToCheck.isWeaponEnabled ()) {
currentIKWeaponToCheck.setCurrentWeaponState (true);
thereIsCurrentWeapon = true;
}
}
}
}
}
}
void initializeValues ()
{
mainPlayerWeaponsManager.initializePlayerWeaponsValues ();
}
List<IKWeaponSystem> weaponsList = mainPlayerWeaponsManager.weaponsList;
int weaponsListCount = weaponsList.Count;
for (int k = 0; k < weaponsListCount; k++) {
persistanceWeaponInfo newPersistanceWeaponInfo = new persistanceWeaponInfo ();
IKWeaponSystem currentWeapon = weaponsList [k];
newPersistanceWeaponInfo.Name = currentWeapon.getWeaponSystemName ();
newPersistanceWeaponInfo.index = k;
newPersistanceWeaponInfo.isWeaponEnabled = currentWeapon.isWeaponEnabled ();
newPersistanceWeaponInfo.isCurrentWeapon = currentWeapon.isCurrentWeapon ();
newPersistanceWeaponInfo.remainingAmmo = currentWeapon.getWeaponSystemManager ().weaponSettings.remainAmmo + currentWeapon.getWeaponSystemManager ().getWeaponClipSize ();
if (mainPlayerWeaponsManager.saveWeaponAttachmentsInfoToSaveFile) {
if (currentWeapon.checkIfWeaponUsesAttachment ()) {
newPersistanceWeaponInfo.weaponUsesAttachment = true;
weaponAttachmentSystem currentWeaponAttachmentSystem = currentWeapon.getWeaponAttachmentSystem ();
if (currentWeaponAttachmentSystem != null) {
newPersistanceWeaponInfo.weaponAttachmentPlaceList = currentWeaponAttachmentSystem.getPersistanceAttachmentWeaponInfoList ();
}
}
newPersistanceWeaponInfoList.Add (newPersistanceWeaponInfo);
}
}
newPersistanceWeaponListByPlayerInfo.weaponList = newPersistanceWeaponInfoList;
return newPersistanceWeaponListByPlayerInfo;
}
void loadInfoOnMainComponent ()
{
initializeValues ();
if (persistanceInfoList != null && persistanceInfoList.Count > 0) {
List<IKWeaponSystem> weaponsList = mainPlayerWeaponsManager.weaponsList;
if (mainPlayerWeaponsManager.storePickedWeaponsOnInventory) {
if (mainPlayerWeaponsManager.loadWeaponAttachmentsInfoFromSaveFile) {
if (mainPlayerWeaponsManager.loadCurrentPlayerWeaponsFromSaveFile) {
int persistanceInfoListCount = persistanceInfoList.Count;
for (int i = 0; i < persistanceInfoListCount; i++) {
persistanceWeaponInfo currentPersistanceWeaponInfo = persistanceInfoList [i];
int currentIndex = currentPersistanceWeaponInfo.index;
if (weaponsList.Count > currentIndex && currentIndex > -1) {
IKWeaponSystem currentIKWeaponToCheck = weaponsList [currentIndex];
if (currentPersistanceWeaponInfo.weaponUsesAttachment) {
weaponAttachmentSystem currentWeaponAttachmentSystem = currentIKWeaponToCheck.getWeaponAttachmentSystem ();
if (currentWeaponAttachmentSystem != null) {
currentWeaponAttachmentSystem.initializeAttachmentValues (currentPersistanceWeaponInfo.weaponAttachmentPlaceList);
}
}
}
}
}
}
return;
}
if (mainPlayerWeaponsManager.loadCurrentPlayerWeaponsFromSaveFile) {
bool thereIsCurrentWeapon = false;
int persistanceInfoListCount = persistanceInfoList.Count;
for (int i = 0; i < persistanceInfoListCount; i++) {
persistanceWeaponInfo currentPersistanceWeaponInfo = persistanceInfoList [i];
int currentIndex = currentPersistanceWeaponInfo.index;
if (weaponsList.Count > currentIndex && currentIndex > -1) {
IKWeaponSystem currentIKWeaponToCheck = weaponsList [currentIndex];
currentIKWeaponToCheck.setWeaponEnabledState (currentPersistanceWeaponInfo.isWeaponEnabled);
currentIKWeaponToCheck.setCurrentWeaponState (currentPersistanceWeaponInfo.isCurrentWeapon);
currentIKWeaponToCheck.weaponSystemManager.weaponSettings.remainAmmo = currentPersistanceWeaponInfo.remainingAmmo
- currentIKWeaponToCheck.weaponSystemManager.getWeaponClipSize ();
if (currentIKWeaponToCheck.isCurrentWeapon ()) {
thereIsCurrentWeapon = true;
}
if (mainPlayerWeaponsManager.loadWeaponAttachmentsInfoFromSaveFile) {
if (currentPersistanceWeaponInfo.weaponUsesAttachment) {
weaponAttachmentSystem currentWeaponAttachmentSystem = currentIKWeaponToCheck.getWeaponAttachmentSystem ();
if (currentWeaponAttachmentSystem != null) {
currentWeaponAttachmentSystem.initializeAttachmentValues (currentPersistanceWeaponInfo.weaponAttachmentPlaceList);
}
}
}
}
}
if (!thereIsCurrentWeapon) {
int weaponsListCount = weaponsList.Count;
for (int k = 0; k < weaponsListCount; k++) {
IKWeaponSystem currentIKWeaponToCheck = weaponsList [k];
if (!thereIsCurrentWeapon && currentIKWeaponToCheck.isWeaponEnabled ()) {
currentIKWeaponToCheck.setCurrentWeaponState (true);
thereIsCurrentWeapon = true;
}
}
}
}
}
}
void initializeValues ()
{
mainPlayerWeaponsManager.initializePlayerWeaponsValues ();
}
}

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/savePlayerWeaponsInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveSkillsInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveStatsInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveTravelStationInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Custom Class To Save/saveVendorInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -437,7 +437,10 @@ public class elementOnScene : MonoBehaviour
public void setUseElementPrefabIDState (bool state)
{
useElementPrefabID = state;
}
//print (gameObject.name + " setUseElementPrefabIDState " + useElementPrefabID);
}
public void addSingleElementOnSceneToManager ()
{

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Elements On Scene/elementOnScene.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Elements On Scene/elementOnSceneHelper.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Elements On Scene/elementOnSceneInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -4,442 +4,472 @@ using UnityEngine;
public class elementOnSceneManager : MonoBehaviour
{
[Header ("Main Settings")]
[Space]
[Header ("Main Settings")]
[Space]
public bool saveCurrentPlayerElementsOnSceneToSaveFile = true;
public bool saveCurrentPlayerElementsOnSceneToSaveFile = true;
public int elementsScene;
public int elementsScene;
public bool findDisabledElementsOnSceneGameObjects;
public bool findDisabledElementsOnSceneGameObjects;
[Space]
[Header ("Elements On Scene Prefabs Settings")]
[Space]
[Space]
[Header ("Elements On Scene Prefabs Settings")]
[Space]
public bool useElementsOnSceneData;
public bool useElementsOnSceneData;
public elementsOnSceneData mainElementsOnSceneData;
public elementsOnSceneData mainElementsOnSceneData;
[Space]
[Header ("Elements On Scene Prefabs Settings")]
[Space]
[Space]
[Header ("Elements On Scene Prefabs Settings")]
[Space]
public bool ignoreLoadStatsOnObjectIDList;
public List<int> ignoreLoadStatsOnObjectIDListInfo = new List<int> ();
public bool ignoreLoadStatsOnObjectIDList;
public List<int> ignoreLoadStatsOnObjectIDListInfo = new List<int> ();
[Space]
[Space]
public bool ignoreLoadStatsOnObjectPrefabIDList;
public List<int> ignoreLoadStatsOnObjectPrefabIDListInfo = new List<int> ();
public bool ignoreLoadStatsOnObjectPrefabIDList;
public List<int> ignoreLoadStatsOnObjectPrefabIDListInfo = new List<int> ();
[Space]
[Header ("Debug")]
[Space]
[Space]
[Header ("Debug")]
[Space]
public int currentElementID = 0;
public int currentElementID = 0;
public List<elementOnScene> elementOnSceneList = new List<elementOnScene> ();
public List<elementOnScene> elementOnSceneList = new List<elementOnScene> ();
[Space]
[Space]
[Space]
[Space]
public List<temporalElementOnSceneInfo> temporalElementOnSceneInfoList = new List<temporalElementOnSceneInfo> ();
public List<temporalElementOnSceneInfo> temporalElementOnSceneInfoList = new List<temporalElementOnSceneInfo> ();
//Possible cases of objects on scene to save its info:
//-Pickups:
//When placed on scene, the regular scene manager will get its info on the editor
//When picked, they send a signal to be removed, by setting its info on a temporal list, as the original object is destroyed
//the system should check if the object picked was an original element on the scene or it was instantiated as a new object from a previous save
//so in that case, that element info is removed from the list, as it is not needed to be loaded or taken into account in next load/save
//When spawned, they are stored as regular object info when the game is saved, increasing the ID value and adding them as new info elements on the
//main list, so when the game loads, it searches their prefab ID to instantiate a copy of each one, adding them as new objects info on the list
//Possible cases of objects on scene to save its info:
//-Pickups:
//When placed on scene, the regular scene manager will get its info on the editor
//When picked, they send a signal to be removed, by setting its info on a temporal list, as the original object is destroyed
//the system should check if the object picked was an original element on the scene or it was instantiated as a new object from a previous save
//so in that case, that element info is removed from the list, as it is not needed to be loaded or taken into account in next load/save
//When spawned, they are stored as regular object info when the game is saved, increasing the ID value and adding them as new info elements on the
//main list, so when the game loads, it searches their prefab ID to instantiate a copy of each one, adding them as new objects info on the list
//-Vehicles:
//When placed on scene, the regular scene manager will get its info on the editor
//When moving to new scenes, they are disabled from the main list, so the original vehicle is disabled from scene in that case
//in that case, the vehicle is checked on the new scene, instantiated and added on the main info list
//When destroyed, they are disabled from the main list, so the original vehicle is disabled from scene in that case
//When spawned, they are stored as regular object info when the game is saved, increasing the ID value and adding them as new info elements on the
//main list, so when the game loads, it searches their prefab ID to instantiate a copy of each one, adding them as new objects info on the list
//-Vehicles:
//When placed on scene, the regular scene manager will get its info on the editor
//When moving to new scenes, they are disabled from the main list, so the original vehicle is disabled from scene in that case
//in that case, the vehicle is checked on the new scene, instantiated and added on the main info list
//When destroyed, they are disabled from the main list, so the original vehicle is disabled from scene in that case
//When spawned, they are stored as regular object info when the game is saved, increasing the ID value and adding them as new info elements on the
//main list, so when the game loads, it searches their prefab ID to instantiate a copy of each one, adding them as new objects info on the list
//-AI:
//When placed on scene, the regular scene manager will get its info on the editor
//When destroyed, they are disabled from the main list, so the original AI is disabled from scene in that case
//When spawned, they are stored as regular object info when the game is saved, increasing the ID value and adding them as new info elements on the
//main list, so when the game loads, it searches their prefab ID to instantiate a copy of each one, adding them as new objects info on the list
//-AI:
//When placed on scene, the regular scene manager will get its info on the editor
//When destroyed, they are disabled from the main list, so the original AI is disabled from scene in that case
//When spawned, they are stored as regular object info when the game is saved, increasing the ID value and adding them as new info elements on the
//main list, so when the game loads, it searches their prefab ID to instantiate a copy of each one, adding them as new objects info on the list
public const string mainManagerName = "Elements On Scene Manager";
public const string mainManagerName = "Elements On Scene Manager";
public static string getMainManagerName ()
{
return mainManagerName;
}
public static string getMainManagerName ()
{
return mainManagerName;
}
private static elementOnSceneManager _elementOnSceneManagerInstance;
private static elementOnSceneManager _elementOnSceneManagerInstance;
public static elementOnSceneManager Instance { get { return _elementOnSceneManagerInstance; } }
public static elementOnSceneManager Instance { get { return _elementOnSceneManagerInstance; } }
bool instanceInitialized;
bool instanceInitialized;
public void getComponentInstance ()
{
if (instanceInitialized) {
return;
}
public void getComponentInstance ()
{
if (instanceInitialized) {
return;
}
if (_elementOnSceneManagerInstance != null && _elementOnSceneManagerInstance != this) {
Destroy (this.gameObject);
if (_elementOnSceneManagerInstance != null && _elementOnSceneManagerInstance != this) {
Destroy (this.gameObject);
return;
}
return;
}
_elementOnSceneManagerInstance = this;
_elementOnSceneManagerInstance = this;
instanceInitialized = true;
}
instanceInitialized = true;
}
void Awake ()
{
getComponentInstance ();
}
void Awake ()
{
getComponentInstance ();
}
public void initializeValues ()
{
public void initializeValues ()
{
}
}
public void checkForInstantiatedElementsOnSceneOnSave ()
{
if (findDisabledElementsOnSceneGameObjects) {
List<elementOnScene> newElementOnSceneList = GKC_Utils.FindObjectsOfTypeAll<elementOnScene> ();
public void checkForInstantiatedElementsOnSceneOnSave ()
{
checkCorrectCurrentElementIDValue ();
if (newElementOnSceneList != null) {
for (var i = 0; i < newElementOnSceneList.Count; i++) {
if (!elementOnSceneList.Contains (newElementOnSceneList [i])) {
setNewInstantiatedElementOnSceneManagerIngameWithInfo (newElementOnSceneList [i]);
}
}
}
} else {
elementOnScene[] newElementOnSceneList = FindObjectsOfType<elementOnScene> ();
if (findDisabledElementsOnSceneGameObjects) {
List<elementOnScene> newElementOnSceneList = GKC_Utils.FindObjectsOfTypeAll<elementOnScene> ();
foreach (elementOnScene currentElementOnScene in newElementOnSceneList) {
if (!elementOnSceneList.Contains (currentElementOnScene)) {
setNewInstantiatedElementOnSceneManagerIngameWithInfo (currentElementOnScene);
}
}
}
}
if (newElementOnSceneList != null) {
for (var i = 0; i < newElementOnSceneList.Count; i++) {
if (!elementOnSceneList.Contains (newElementOnSceneList [i])) {
setNewInstantiatedElementOnSceneManagerIngameWithInfo (newElementOnSceneList [i]);
}
}
}
} else {
elementOnScene [] newElementOnSceneList = FindObjectsOfType<elementOnScene> ();
public void setNewInstantiatedElementOnSceneManagerIngame (elementOnScene newElementOnScene)
{
currentElementID++;
foreach (elementOnScene currentElementOnScene in newElementOnSceneList) {
if (!elementOnSceneList.Contains (currentElementOnScene)) {
setNewInstantiatedElementOnSceneManagerIngameWithInfo (currentElementOnScene);
}
}
}
}
newElementOnScene.setSaveElementEnabledState (true);
void checkCorrectCurrentElementIDValue ()
{
bool IDFoundResult = false;
newElementOnScene.setElementID (currentElementID);
int loopCounter = 0;
newElementOnScene.setElementScene (elementsScene);
while (!IDFoundResult) {
int index = elementOnSceneList.FindIndex (s => s.elementID == currentElementID);
newElementOnScene.setUseElementPrefabIDState (true);
if (index > -1) {
increaseCurrentElementID ();
} else {
IDFoundResult = true;
}
elementOnSceneList.Add (newElementOnScene);
}
loopCounter++;
public void setNewInstantiatedElementOnSceneManagerIngameWithInfo (elementOnScene newElementOnScene)
{
currentElementID++;
if (loopCounter > elementOnSceneList.Count * 2) {
IDFoundResult = true;
}
}
}
newElementOnScene.setSaveElementEnabledState (true);
public void setNewInstantiatedElementOnSceneManagerIngame (elementOnScene newElementOnScene)
{
increaseCurrentElementID ();
newElementOnScene.setElementActiveState (true);
newElementOnScene.setSaveElementEnabledState (true);
newElementOnScene.setElementID (currentElementID);
newElementOnScene.setElementID (currentElementID);
newElementOnScene.setElementScene (elementsScene);
newElementOnScene.setElementScene (elementsScene);
if (useElementsOnSceneData) {
int elementPrefabID = mainElementsOnSceneData.getElementScenePrefabIDByName (newElementOnScene.gameObject.name);
newElementOnScene.setUseElementPrefabIDState (true);
if (elementPrefabID > -1) {
newElementOnScene.setElementPrefabIDValue (elementPrefabID);
elementOnSceneList.Add (newElementOnScene);
}
newElementOnScene.setUseElementPrefabIDState (true);
}
}
public void setNewInstantiatedElementOnSceneManagerIngameWithInfo (elementOnScene newElementOnScene)
{
increaseCurrentElementID ();
elementOnSceneList.Add (newElementOnScene);
}
newElementOnScene.setSaveElementEnabledState (true);
public void setTemporalElementActiveState (int elementID, int elementScene, bool elementActiveState)
{
temporalElementOnSceneInfo newTemporalElementOnSceneInfo = new temporalElementOnSceneInfo ();
newElementOnScene.setElementActiveState (true);
newTemporalElementOnSceneInfo.elementID = elementID;
newElementOnScene.setElementID (currentElementID);
newTemporalElementOnSceneInfo.elementScene = elementScene;
newElementOnScene.setElementScene (elementsScene);
newTemporalElementOnSceneInfo.elementActiveState = elementActiveState;
if (useElementsOnSceneData) {
int elementPrefabID = mainElementsOnSceneData.getElementScenePrefabIDByName (newElementOnScene.gameObject.name);
temporalElementOnSceneInfoList.Add (newTemporalElementOnSceneInfo);
}
if (elementPrefabID > -1) {
newElementOnScene.setElementPrefabIDValue (elementPrefabID);
public void removeElementFromSceneList (elementOnScene newElementOnScene)
{
if (elementOnSceneList.Contains (newElementOnScene)) {
elementOnSceneList.Remove (newElementOnScene);
}
}
newElementOnScene.setUseElementPrefabIDState (true);
}
}
public elementOnScene getElementOnSceneInfo (int elementID, int elementScene)
{
//Get each elemento on scene configured,searching by ID
if (elementOnSceneList.Count == 0) {
getAllElementsOnSceneOnLevel ();
}
elementOnSceneList.Add (newElementOnScene);
}
int elementOnSceneListCount = elementOnSceneList.Count;
public void setTemporalElementActiveState (int elementID, int elementScene, bool elementActiveState)
{
temporalElementOnSceneInfo newTemporalElementOnSceneInfo = new temporalElementOnSceneInfo ();
//Return the element on scene currently found by ID
for (int i = 0; i < elementOnSceneListCount; i++) {
elementOnScene currentElementOnScene = elementOnSceneList [i];
if (currentElementOnScene != null && currentElementOnScene.isSaveElementEnabled ()) {
if (currentElementOnScene.elementScene == elementScene && currentElementOnScene.elementID == elementID) {
newTemporalElementOnSceneInfo.elementID = elementID;
return currentElementOnScene;
}
}
}
newTemporalElementOnSceneInfo.elementScene = elementScene;
return null;
}
newTemporalElementOnSceneInfo.elementActiveState = elementActiveState;
public void addNewElementOnScene (elementOnScene newElementOnScene)
{
currentElementID++;
temporalElementOnSceneInfoList.Add (newTemporalElementOnSceneInfo);
}
newElementOnScene.setElementID (currentElementID);
public void removeElementFromSceneList (elementOnScene newElementOnScene)
{
if (elementOnSceneList.Contains (newElementOnScene)) {
elementOnSceneList.Remove (newElementOnScene);
}
}
newElementOnScene.setElementScene (elementsScene);
public elementOnScene getElementOnSceneInfo (int elementID, int elementScene)
{
//Get each elemento on scene configured,searching by ID
if (elementOnSceneList.Count == 0) {
getAllElementsOnSceneOnLevel ();
}
elementOnSceneList.Add (newElementOnScene);
}
int elementOnSceneListCount = elementOnSceneList.Count;
public void getAllElementsOnSceneOnLevel ()
{
//Search all the station systems on the level, so they can be managed here
elementOnSceneList.Clear ();
//Return the element on scene currently found by ID
for (int i = 0; i < elementOnSceneListCount; i++) {
elementOnScene currentElementOnScene = elementOnSceneList [i];
if (findDisabledElementsOnSceneGameObjects) {
List<elementOnScene> newElementOnSceneList = GKC_Utils.FindObjectsOfTypeAll<elementOnScene> ();
if (currentElementOnScene != null && currentElementOnScene.isSaveElementEnabled ()) {
if (currentElementOnScene.elementScene == elementScene && currentElementOnScene.elementID == elementID) {
if (newElementOnSceneList != null) {
for (var i = 0; i < newElementOnSceneList.Count; i++) {
if (!elementOnSceneList.Contains (newElementOnSceneList [i])) {
elementOnSceneList.Add (newElementOnSceneList [i]);
}
}
}
} else {
elementOnScene[] newElementOnSceneList = FindObjectsOfType<elementOnScene> ();
return currentElementOnScene;
}
}
}
foreach (elementOnScene currentElementOnScene in newElementOnSceneList) {
if (!elementOnSceneList.Contains (currentElementOnScene)) {
elementOnSceneList.Add (currentElementOnScene);
}
}
}
}
return null;
}
public void setStatsSearchingByInfo (int currentElementScene, int currentElementID, elementOnScene currentElementOnScene)
{
saveElementsOnSceneInfo mainSaveElementsOnSceneInfo = FindObjectOfType<saveElementsOnSceneInfo> ();
public void addNewElementOnScene (elementOnScene newElementOnScene)
{
increaseCurrentElementID ();
if (mainSaveElementsOnSceneInfo != null) {
newElementOnScene.setElementID (currentElementID);
mainSaveElementsOnSceneInfo.setStatsSearchingByInfo (currentElementScene, currentElementID, currentElementOnScene);
}
}
newElementOnScene.setElementScene (elementsScene);
public bool isSaveCurrentPlayerElementsOnSceneToSaveFile ()
{
return saveCurrentPlayerElementsOnSceneToSaveFile;
}
elementOnSceneList.Add (newElementOnScene);
}
public void setSaveCurrentPlayerElementsOnSceneToSaveFileState (bool state)
{
saveCurrentPlayerElementsOnSceneToSaveFile = state;
}
public void getAllElementsOnSceneOnLevel ()
{
//Search all the station systems on the level, so they can be managed here
elementOnSceneList.Clear ();
//EDITOR FUNCTIONS
public void getAllElementsOnSceneOnLevelAndAssignInfoToAllElements ()
{
//Seach all station systems on the level and assign an ID to each one
getAllElementsOnSceneOnLevel ();
if (findDisabledElementsOnSceneGameObjects) {
List<elementOnScene> newElementOnSceneList = GKC_Utils.FindObjectsOfTypeAll<elementOnScene> ();
currentElementID = 0;
if (newElementOnSceneList != null) {
for (var i = 0; i < newElementOnSceneList.Count; i++) {
if (!elementOnSceneList.Contains (newElementOnSceneList [i])) {
elementOnSceneList.Add (newElementOnSceneList [i]);
}
}
}
} else {
elementOnScene [] newElementOnSceneList = FindObjectsOfType<elementOnScene> ();
int elementOnSceneListCount = elementOnSceneList.Count;
foreach (elementOnScene currentElementOnScene in newElementOnSceneList) {
if (!elementOnSceneList.Contains (currentElementOnScene)) {
elementOnSceneList.Add (currentElementOnScene);
}
}
}
}
for (int i = 0; i < elementOnSceneListCount; i++) {
if (elementOnSceneList [i] != null) {
elementOnSceneList [i].setElementActiveState (elementOnSceneList [i].gameObject.activeSelf);
public void setStatsSearchingByInfo (int currentElementScene, int currentElementID, elementOnScene currentElementOnScene)
{
saveElementsOnSceneInfo mainSaveElementsOnSceneInfo = FindObjectOfType<saveElementsOnSceneInfo> ();
elementOnSceneList [i].setElementID (currentElementID);
if (mainSaveElementsOnSceneInfo != null) {
elementOnSceneList [i].setElementScene (elementsScene);
mainSaveElementsOnSceneInfo.setStatsSearchingByInfo (currentElementScene, currentElementID, currentElementOnScene);
}
}
elementOnSceneList [i].setObjectOriginallyOnSceneState (true);
public bool isSaveCurrentPlayerElementsOnSceneToSaveFile ()
{
return saveCurrentPlayerElementsOnSceneToSaveFile;
}
GKC_Utils.updateComponent (elementOnSceneList [i]);
public void setSaveCurrentPlayerElementsOnSceneToSaveFileState (bool state)
{
saveCurrentPlayerElementsOnSceneToSaveFile = state;
}
currentElementID++;
}
}
//EDITOR FUNCTIONS
public void getAllElementsOnSceneOnLevelAndAssignInfoToAllElements ()
{
//Seach all station systems on the level and assign an ID to each one
getAllElementsOnSceneOnLevel ();
updateComponent ();
}
currentElementID = 0;
public void setEnableStateOnAllElementsOnScene (bool state)
{
//Seach all station systems on the level and assign an ID to each one
getAllElementsOnSceneOnLevel ();
int elementOnSceneListCount = elementOnSceneList.Count;
int elementOnSceneListCount = elementOnSceneList.Count;
for (int i = 0; i < elementOnSceneListCount; i++) {
for (int i = 0; i < elementOnSceneListCount; i++) {
if (elementOnSceneList [i] != null) {
elementOnSceneList [i].setElementActiveState (elementOnSceneList [i].gameObject.activeSelf);
if (elementOnSceneList [i] != null) {
elementOnSceneList [i].setSaveElementEnabledState (state);
elementOnSceneList [i].setElementID (currentElementID);
GKC_Utils.updateComponent (elementOnSceneList [i]);
}
}
elementOnSceneList [i].setElementScene (elementsScene);
updateComponent ();
}
elementOnSceneList [i].setObjectOriginallyOnSceneState (true);
public void setIDOnElementsOnScenePrefabs ()
{
if (useElementsOnSceneData) {
int elementPrefabIDCount = 0;
GKC_Utils.updateComponent (elementOnSceneList [i]);
for (int i = 0; i < mainElementsOnSceneData.elementsOnSceneInfoList.Count; i++) {
for (int j = 0; j < mainElementsOnSceneData.elementsOnSceneInfoList [i].elementOnSceneInfoList.Count; j++) {
mainElementsOnSceneData.elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefabID = elementPrefabIDCount;
increaseCurrentElementID ();
}
}
GameObject elementPrefab = mainElementsOnSceneData.elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab;
updateComponent ();
}
if (elementPrefab != null) {
elementOnScene currentElementOnScene = elementPrefab.GetComponentInChildren<elementOnScene> ();
public void setEnableStateOnAllElementsOnScene (bool state)
{
//Seach all station systems on the level and assign an ID to each one
getAllElementsOnSceneOnLevel ();
if (currentElementOnScene != null) {
currentElementOnScene.setElementPrefabIDValue (elementPrefabIDCount);
}
}
int elementOnSceneListCount = elementOnSceneList.Count;
elementPrefabIDCount++;
}
}
}
for (int i = 0; i < elementOnSceneListCount; i++) {
updateComponent ();
if (elementOnSceneList [i] != null) {
elementOnSceneList [i].setSaveElementEnabledState (state);
GKC_Utils.refreshAssetDatabase ();
}
GKC_Utils.updateComponent (elementOnSceneList [i]);
}
}
public void setIDOnElementsOnScenePrefabsLocatedOnScene ()
{
if (!useElementsOnSceneData) {
return;
}
updateComponent ();
}
if (findDisabledElementsOnSceneGameObjects) {
List<elementOnScene> newElementOnSceneList = GKC_Utils.FindObjectsOfTypeAll<elementOnScene> ();
public void setIDOnElementsOnScenePrefabs ()
{
if (useElementsOnSceneData) {
int elementPrefabIDCount = 0;
if (newElementOnSceneList != null) {
for (var i = 0; i < newElementOnSceneList.Count; i++) {
int elementPrefabID = mainElementsOnSceneData.getElementScenePrefabIDByName (newElementOnSceneList [i].gameObject.name);
for (int i = 0; i < mainElementsOnSceneData.elementsOnSceneInfoList.Count; i++) {
for (int j = 0; j < mainElementsOnSceneData.elementsOnSceneInfoList [i].elementOnSceneInfoList.Count; j++) {
mainElementsOnSceneData.elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefabID = elementPrefabIDCount;
if (elementPrefabID > -1) {
newElementOnSceneList [i].setElementPrefabIDValue (elementPrefabID);
}
}
}
} else {
elementOnScene[] newElementOnSceneList = FindObjectsOfType<elementOnScene> ();
GameObject elementPrefab = mainElementsOnSceneData.elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab;
foreach (elementOnScene currentElementOnScene in newElementOnSceneList) {
int elementPrefabID = mainElementsOnSceneData.getElementScenePrefabIDByName (currentElementOnScene.gameObject.name);
if (elementPrefab != null) {
elementOnScene currentElementOnScene = elementPrefab.GetComponentInChildren<elementOnScene> ();
if (elementPrefabID > -1) {
currentElementOnScene.setElementPrefabIDValue (elementPrefabID);
}
}
}
if (currentElementOnScene != null) {
currentElementOnScene.setElementPrefabIDValue (elementPrefabIDCount);
}
}
updateComponent ();
}
elementPrefabIDCount++;
}
}
}
public void getAllElementsOnSceneOnLevelByEditor ()
{
//Search all station systems on the level and assign them here by the editor
getAllElementsOnSceneOnLevel ();
updateComponent ();
updateComponent ();
}
GKC_Utils.refreshAssetDatabase ();
}
public void clearElementsOnSceneList ()
{
elementOnSceneList.Clear ();
public void setIDOnElementsOnScenePrefabsLocatedOnScene ()
{
if (!useElementsOnSceneData) {
return;
}
updateComponent ();
}
if (findDisabledElementsOnSceneGameObjects) {
List<elementOnScene> newElementOnSceneList = GKC_Utils.FindObjectsOfTypeAll<elementOnScene> ();
public void addSingleElementOnSceneToManager (elementOnScene newElementOnScene)
{
if (!elementOnSceneList.Contains (newElementOnScene)) {
newElementOnScene.setElementActiveState (newElementOnScene.gameObject.activeSelf);
if (newElementOnSceneList != null) {
for (var i = 0; i < newElementOnSceneList.Count; i++) {
int elementPrefabID = mainElementsOnSceneData.getElementScenePrefabIDByName (newElementOnSceneList [i].gameObject.name);
newElementOnScene.setElementID (currentElementID);
if (elementPrefabID > -1) {
newElementOnSceneList [i].setElementPrefabIDValue (elementPrefabID);
}
}
}
} else {
elementOnScene [] newElementOnSceneList = FindObjectsOfType<elementOnScene> ();
newElementOnScene.setElementScene (elementsScene);
foreach (elementOnScene currentElementOnScene in newElementOnSceneList) {
newElementOnScene.setObjectOriginallyOnSceneState (true);
int elementPrefabID = mainElementsOnSceneData.getElementScenePrefabIDByName (currentElementOnScene.gameObject.name);
GKC_Utils.updateComponent (newElementOnScene);
if (elementPrefabID > -1) {
currentElementOnScene.setElementPrefabIDValue (elementPrefabID);
}
}
}
currentElementID++;
updateComponent ();
}
elementOnSceneList.Add (newElementOnScene);
public void getAllElementsOnSceneOnLevelByEditor ()
{
//Search all station systems on the level and assign them here by the editor
getAllElementsOnSceneOnLevel ();
updateComponent ();
}
}
updateComponent ();
}
public void updateComponent ()
{
GKC_Utils.updateComponent (this);
public void clearElementsOnSceneList ()
{
elementOnSceneList.Clear ();
GKC_Utils.updateDirtyScene ("Update Main Elements On Scene Manager info", gameObject);
}
updateComponent ();
}
[System.Serializable]
public class temporalElementOnSceneInfo
{
public int elementScene;
public int elementID;
void increaseCurrentElementID ()
{
currentElementID++;
}
public bool elementActiveState;
public void addSingleElementOnSceneToManager (elementOnScene newElementOnScene)
{
if (!elementOnSceneList.Contains (newElementOnScene)) {
newElementOnScene.setElementActiveState (newElementOnScene.gameObject.activeSelf);
public bool useElementPrefabID;
newElementOnScene.setElementID (currentElementID);
public int elementPrefabID;
}
newElementOnScene.setElementScene (elementsScene);
newElementOnScene.setObjectOriginallyOnSceneState (true);
GKC_Utils.updateComponent (newElementOnScene);
increaseCurrentElementID ();
elementOnSceneList.Add (newElementOnScene);
updateComponent ();
}
}
public void updateComponent ()
{
GKC_Utils.updateComponent (this);
GKC_Utils.updateDirtyScene ("Update Main Elements On Scene Manager info", gameObject);
}
[System.Serializable]
public class temporalElementOnSceneInfo
{
public int elementScene;
public int elementID;
public bool elementActiveState;
public bool useElementPrefabID;
public int elementPrefabID;
}
}

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Elements On Scene/elementOnSceneManager.cs
uploadId: 814740
uploadId: 889948

View File

@@ -5,49 +5,51 @@ using UnityEngine;
[CreateAssetMenu (fileName = "Element On Scene Data", menuName = "GKC/Create Element On Scene Data", order = 51)]
public class elementsOnSceneData : ScriptableObject
{
public List<elementsOnSceneInfo> elementsOnSceneInfoList = new List<elementsOnSceneInfo> ();
public List<elementsOnSceneInfo> elementsOnSceneInfoList = new List<elementsOnSceneInfo> ();
public GameObject getElementScenePrefabById (int prefabID)
{
if (prefabID <= -1) {
return null;
}
public GameObject getElementScenePrefabById (int prefabID)
{
if (prefabID <= -1) {
return null;
}
int elementsOnSceneInfoListCount = elementsOnSceneInfoList.Count;
int elementsOnSceneInfoListCount = elementsOnSceneInfoList.Count;
for (int i = 0; i < elementsOnSceneInfoListCount; i++) {
for (int i = 0; i < elementsOnSceneInfoListCount; i++) {
int elementOnSceneInfoListCount = elementsOnSceneInfoList [i].elementOnSceneInfoList.Count;
int elementOnSceneInfoListCount = elementsOnSceneInfoList [i].elementOnSceneInfoList.Count;
for (int j = 0; j < elementOnSceneInfoListCount; j++) {
if (elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefabID == prefabID) {
return elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab;
}
}
}
for (int j = 0; j < elementOnSceneInfoListCount; j++) {
if (elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefabID == prefabID) {
return elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab;
}
}
}
return null;
}
return null;
}
public int getElementScenePrefabIDByName (string prefabName)
{
int elementsOnSceneInfoListCount = elementsOnSceneInfoList.Count;
public int getElementScenePrefabIDByName (string prefabName)
{
int elementsOnSceneInfoListCount = elementsOnSceneInfoList.Count;
for (int i = 0; i < elementsOnSceneInfoListCount; i++) {
int elementOnSceneInfoListCount = elementsOnSceneInfoList [i].elementOnSceneInfoList.Count;
for (int i = 0; i < elementsOnSceneInfoListCount; i++) {
int elementOnSceneInfoListCount = elementsOnSceneInfoList [i].elementOnSceneInfoList.Count;
for (int j = 0; j < elementOnSceneInfoListCount; j++) {
if (elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab != null) {
string currentName = elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab.name;
for (int j = 0; j < elementOnSceneInfoListCount; j++) {
if (elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab != null) {
string currentName = elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab.name;
if (currentName.Equals (prefabName) || prefabName.Contains (currentName)) {
return elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefabID;
}
}
}
}
//Debug.Log ("getElementScenePrefabIDByName " + currentName + " " + elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefab.name);
return -1;
}
if (currentName.Equals (prefabName) || prefabName.Contains (currentName)) {
return elementsOnSceneInfoList [i].elementOnSceneInfoList [j].elementPrefabID;
}
}
}
}
return -1;
}
}

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Elements On Scene/elementsOnSceneData.cs
uploadId: 814740
uploadId: 889948

View File

@@ -14,7 +14,9 @@ public class persistancePlayerBlendshapesInfo
{
public int playerID;
public List<string> accessoriesList = new List<string> ();
public int characterModelID;
public List<string> accessoriesList = new List<string> ();
public List<persistanceBlendshapesInfo> blendshapesList = new List<persistanceBlendshapesInfo> ();
}

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceBlendshapesListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceDialogContentListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceElementsOnSceneBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceInventoryListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceMeleeWeaponListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistancePlayerMissionsListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistancePlayerOptionsListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistancePlayerSkillsListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistancePlayerStatsListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceTravelStationListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceWeaponAttachmentListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/Persistance Classes/persistanceWeaponListBySaveSlotInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/playerPrefsCustomData.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/playerPrefsCustomInfo.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/saveGameInfoHelper.cs
uploadId: 814740
uploadId: 889948

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/saveGameSlot.cs
uploadId: 814740
uploadId: 889948

View File

@@ -642,6 +642,24 @@ public class saveGameSystem : MonoBehaviour
savingGameManuallyActive = false;
}
public void saveGameBySlotIndex (int slotIndex)
{
currentButtonIndex = -1;
if (slotIndex < saveGameListElements.Count) {
buttonInfo currentSaveButtonInfo = saveGameListElements [slotIndex];
currentButtonIndex = slotIndex;
currentButton = currentSaveButtonInfo.button;
canSave = true;
saveGame ();
}
}
public void playSavingGameAnimation ()
{
if (useCanvasGroupOnShowSavingGamePanel) {

View File

@@ -13,7 +13,8 @@ MonoImporter:
AssetOrigin:
serializedVersion: 1
productId: 40995
packageName: Game Kit Controller - Shooter Melee Adventure Creator 3D + 2.5D
packageVersion: 3.77g
packageName: Game Kit Controller - Shooter Melee Adventure FPS TPS Creator 3D +
2.5D
packageVersion: 3.77h
assetPath: Assets/Game Kit Controller/Scripts/Save System/saveGameSystem.cs
uploadId: 814740
uploadId: 889948