Creare Videogiochi - Game Developer
Plugin per salvataggio/Caricamento - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Risorse e Programmi per Unity3D (https://www.making-videogames.net/giochi/Forum-Risorse-e-Programmi-per-Unity3D)
+--- Discussione: Plugin per salvataggio/Caricamento (/thread-Plugin-per-salvataggio-Caricamento)



Plugin per salvataggio/Caricamento - KillerZ - 22-01-2011

Ecco a voi il mio primo plugin, è uno script per salvare e vi permette di salvare la posizione (vector3) e rotazione (quaternion) ma anche bool, vi rende il mondo migliore xD
Spero sia di vostro gradimento! Aspetto commenti Wink

Dovete chiamare lo script APlayerPrefs
Codice:
using UnityEngine;
using System.Collections;

public class APlayerPrefs : MonoBehaviour
{
    public static void SaveObjectPosition(string saveName,Vector3 value)
    {
        PlayerPrefs.SetFloat(saveName + "px",value.x);
        PlayerPrefs.SetFloat(saveName + "py",value.y);
        PlayerPrefs.SetFloat(saveName + "pz",value.z);
    }    
    
    public static void SaveObjectRotation(string saveName,Quaternion value)
    {
        PlayerPrefs.SetFloat(saveName + "rx",value.x);
        PlayerPrefs.SetFloat(saveName + "ry",value.y);
        PlayerPrefs.SetFloat(saveName + "rz",value.z);
        PlayerPrefs.SetFloat(saveName + "rw",value.w);
    }

    public static Vector3 LoadObjectPosition(string loadPosition)
    {
        float pX = PlayerPrefs.GetFloat(loadPosition + "px");
        float pY = PlayerPrefs.GetFloat(loadPosition + "py");
        float pZ = PlayerPrefs.GetFloat(loadPosition + "pz");
        return new Vector3(pX,pY,pZ);
    }
    
    public static Quaternion LoadObjectRotation(string loadRotation)
    {
        float rX = PlayerPrefs.GetFloat(loadRotation + "rx");
        float rY = PlayerPrefs.GetFloat(loadRotation + "ry");
        float rZ = PlayerPrefs.GetFloat(loadRotation + "rz");
        float rW = PlayerPrefs.GetFloat(loadRotation + "rw");
        return new Quaternion(rX,rY,rZ,rW);
    }
    
    public static void SetBool(string saveBool,bool valueBool)
    {
        PlayerPrefs.SetInt(saveBool,valueBool?1:0);
    }
    
    public static bool GetBool(string loadBool)
    {
        return PlayerPrefs.GetInt(loadBool)==1?true:false;
    }
}

Per usarlo :

Codice:
var gino : boolean = true;

function Update ()
{
    if(Input.GetKeyDown(KeyCode.A))
    {
        APlayerPrefs.SetBool("newbool",gino);
    }
    
    if(Input.GetKeyDown(KeyCode.B))
    {
        print(APlayerPrefs.GetBool("newbool"));
    }

    if(Input.GetKeyDown(KeyCode.S))
    {
        APlayerPrefs.SaveObjectPosition("playerposition",transform.position);
        APlayerPrefs.SaveObjectRotation("playerrotation",transform.rotation);
    }
    if(Input.GetKeyDown(KeyCode.L))
    {
        transform.position = APlayerPrefs.LoadObjectPosition("playerposition");
        transform.rotation = APlayerPrefs.LoadObjectRotation("playerrotation");
    }
}



RE: Plugin per salvataggio/Caricamento - GEARS_CORPORATION - 22-01-2011

anche se non capisco niente di programmazione, ma ti faccio i complimenti per quello che hai fatto Wink


RE: Plugin per salvataggio/Caricamento - KillerZ - 23-01-2011

lol! Grazie Big Grin


RE: Plugin per salvataggio/Caricamento - burndemon - 28-01-2011

ok,bello,magari quando imparo a fare le addizioni lo implemento (lol mi sento all'asilo per ora!)ma già sapere che esiste uno script bello pronto mi dà sollievo! Big Grin


RE: Plugin per salvataggio/Caricamento - andrea nocentini - 25-06-2012

ottimo o almeno credo perchè nn ho capito bene a cosa serve e dove devo inserirlo


RE: Plugin per salvataggio/Caricamento - ugavle - 13-07-2012

scusate la mia ignoranza ma vrei un po di domande:
dove vanno inseriti gli script???
e poi vorrei sapere come faccio a caricare il salvataggio.
grazie e grazie a Killerz per l'ottimo lavoro