Exemple #1
0
    private ArtifactSaveData ArtifactToSaveData(Artifact artifact)
    {
        if (artifact == null)
        {
            return(null);
        }
        var artifactInfo = new ArtifactSaveData();

        artifactInfo.type = artifact.GetType().ToString();
        Texture2D texture = artifact.ArtifactSprite.texture;

        artifactInfo.spriteBytes = ImageConversion.EncodeToPNG(texture);
        artifactInfo.spriteX     = artifact.ArtifactSprite.texture.width;
        artifactInfo.spriteY     = artifact.ArtifactSprite.texture.height;
        if (artifact.unityShell != null)
        {
            artifactInfo.gameName = artifact.unityShell.gameObject.name;
        }
        artifactInfo.name        = artifact.Name;
        artifactInfo.description = artifact.Description;
        artifactInfo.hasPower    = artifact.HasPower;
        artifactInfo.power       = (int)artifact.Power;
        if (artifact.GetType().IsSubclassOf(typeof(Bottle)))
        {
            artifactInfo.power = (int)(artifact as Bottle).Volume;
        }
        artifactInfo.isFightOnly = artifact.IsFightOnly;
        artifactInfo.used        = artifact.Used;
        return(artifactInfo);
    }
Exemple #2
0
    private Artifact SaveDataToArtifact(ArtifactSaveData artifactInfo)
    {
        if (artifactInfo == null)
        {
            return(null);
        }

        var artifact = UnityArtifact.StringToArtifact(UnityArtifact.TypeToString[artifactInfo.type],
                                                      artifactInfo.name, artifactInfo.description, artifactInfo.power);

        /* if (artifact.unityShell != null)
         *   artifact.unityShell = new UnityArtifact();*/

        artifact.IsFightOnly = artifactInfo.isFightOnly;
        artifact.Used        = artifactInfo.used;

        Texture2D tex = new Texture2D(artifactInfo.spriteX, artifactInfo.spriteY);

        ImageConversion.LoadImage(tex, artifactInfo.spriteBytes);
        Sprite mySprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), Vector2.one);

        artifact.ArtifactSprite = mySprite;


        // artifactInfo.gameName = artifact.unityShell.gameObject.name;

        return(artifact);
    }
Exemple #3
0
 public PickUpSaveData(string tag, string name, bool isDestroyed, ArtifactSaveData artifact)
 {
     this.tag         = tag;
     this.gameName    = name;
     this.isDestroyed = isDestroyed;
     this.artifact    = artifact;
 }