예제 #1
0
 public SaveSMPL(Vector3 position, Vector3 eulerAngles, List <float> poseParam, List <float> shapeParam, int id)
 {
     this.position    = new SaveVector3(position.x, position.y, position.z);
     this.eulerAngles = new SaveVector3(eulerAngles.x, eulerAngles.y, eulerAngles.z);
     this.poseParam   = poseParam;
     this.shapeParam  = shapeParam;
     this.id          = id;
 }
예제 #2
0
 public void ReadyForPickupable()
 {
     transform.localScale = new Vector3(0.4f, 0.4f, 0.4f);
     if (blockType != BlockType.Sand)
     {
         gameObject.AddComponent <Rigidbody2D>();
     }
     is_clicked   = true;
     pickableData = new SaveVector3(transform.position);
 }
        /// <summary>
        /// Saves the data by making a new save data and passing the values entered into the scene into it, you don't have to edit all the values each time you save, this example does.
        /// NOTE: int/float.phase() is used here as we are using input fields in the scene, you'd normally have the correct value type to hand, with UI Input fields we don't, so we have to convert them in this example.
        /// </summary>
        public void SaveGame()
        {
            // For you this would be ' SaveData ' not ' ExampleSaveData '
            ExampleSaveData saveData = new ExampleSaveData();

            // Passing in values to be saved
            saveData.examplePlayerName   = playerName.text;
            saveData.examplePlayerHealth = float.Parse(playerHealth.text);

            // Creating a SaveVector3 and setting the Vector3 up before saving it.
            SaveVector3 exampleVec = new SaveVector3();

            exampleVec.Vector3             = new Vector3(float.Parse(playerPosition0.text), float.Parse(playerPosition1.text), float.Parse(playerPosition2.text));
            saveData.examplePlayerPosition = exampleVec;

            exampleClass.shieldAmount   = int.Parse(playerShield.text);
            saveData.exampleCustomClass = exampleClass;

            // you would just call ' SaveManager.SaveGame(saveData) ' for the sake of not requiring the project to be set up one way to show the asset working...
            // ...there is an example save manager on this script which runs just like the normal one.
            ExampleSaveManager.SaveGame(saveData);
        }
예제 #4
0
 public void UpdateSelfTransform()
 {
     selfPosition = transform.position;
     selfRotation = transform.rotation;
 }
예제 #5
0
    void OnCollisionEnter2D(Collision2D colenter)
    {
        if (is_clicked && colenter.gameObject.tag == "Player")
        {
            switch (blockType)
            {
            case BlockType.Dirt:
                SaveGame.Instance.data.dirtAmount++;
                SaveGame.Instance.data.unpickedDirts.Remove(pickableData);
                break;

            case BlockType.Grass:
                SaveGame.Instance.data.grassAmount++;
                SaveGame.Instance.data.unpickedGrass.Remove(pickableData);
                break;

            case BlockType.Cobble:
                SaveGame.Instance.data.cobbleAmount++;
                if (SaveGame.Instance.data.flintAmount > 0)
                {
                    SaveGame.Instance.data.camprockAmount++;
                }
                SaveGame.Instance.data.unpickedCobbles.Remove(pickableData);
                break;

            case BlockType.Wood:
                SaveGame.Instance.data.woodAmount++;
                SaveGame.Instance.data.plankAmount++;
                if (SaveGame.Instance.data.flintAmount > 0)
                {
                    SaveGame.Instance.data.campAmount++;
                }

                // SaveGame.Instance.data.unpickedWoods.ForEach(sv3=>{
                //     Debug.Log(sv3.ToString());
                // });
                // Debug.Log("pickable data: "+pickableData.ToString());
                SaveGame.Instance.data.unpickedWoods.Remove(pickableData);
                // SaveGame.Instance.data.unpickedWoods.ForEach(sv3=>{
                //     Debug.Log(sv3.ToString());
                // });
                break;

            case BlockType.Leaf:
                SaveGame.Instance.data.leafAmount++;
                SaveGame.Instance.data.unpickedLeafs.Remove(pickableData);
                break;

            //Crafting of Glass
            case BlockType.Sand:
                SaveGame.Instance.data.sandAmount++;
                SaveGame.Instance.data.glassAmount++;
                SaveGame.Instance.data.unpickedSands.Remove(pickableData);
                break;

            case BlockType.Brick:
                SaveGame.Instance.data.brickAmount++;
                SaveGame.Instance.data.unpickedBricks.Remove(pickableData);
                break;

            case BlockType.Ice:
                SaveGame.Instance.data.iceAmount++;
                SaveGame.Instance.data.unpickedIces.Remove(pickableData);
                break;

            case BlockType.Flint:
                SaveGame.Instance.data.flintAmount++;
                if (SaveGame.Instance.data.cobbleAmount > 0)
                {
                    SaveGame.Instance.data.camprockAmount++;
                }
                if (SaveGame.Instance.data.woodAmount > 0)
                {
                    SaveGame.Instance.data.campAmount++;
                }
                SaveGame.Instance.data.unpickedFlints.Remove(pickableData);
                break;

            case BlockType.Clay:
                SaveGame.Instance.data.clayAmount++;
                SaveGame.Instance.data.brickredAmount++;
                SaveGame.Instance.data.unpickedClays.Remove(pickableData);
                break;

            case BlockType.Snow:
                SaveGame.Instance.data.snowAmount++;
                SaveGame.Instance.data.unpickedSnows.Remove(pickableData);
                break;

            case BlockType.Skyrock:
                SaveGame.Instance.data.skyrockAmount++;
                SaveGame.Instance.data.unpickedSkyrocks.Remove(pickableData);
                break;

            case BlockType.Flower:
                SaveGame.Instance.data.flowerAmount++;
                SaveGame.Instance.data.unpickedFlowers.Remove(pickableData);
                break;

            case BlockType.Grassitem:
                SaveGame.Instance.data.grassitemAmount++;
                SaveGame.Instance.data.unpickedGrassitems.Remove(pickableData);
                break;

            case BlockType.Brickred:
                SaveGame.Instance.data.brickredAmount++;
                SaveGame.Instance.data.unpickedBrickreds.Remove(pickableData);
                break;

            case BlockType.Plank:
                SaveGame.Instance.data.plankAmount++;
                SaveGame.Instance.data.unpickedPlanks.Remove(pickableData);
                break;

            case BlockType.Glass:
                SaveGame.Instance.data.glassAmount++;
                SaveGame.Instance.data.unpickedGlasss.Remove(pickableData);
                break;

            case BlockType.Camp:
                SaveGame.Instance.data.campAmount++;
                SaveGame.Instance.data.unpickedCamps.Remove(pickableData);
                break;

            case BlockType.Camprock:
                SaveGame.Instance.data.camprockAmount++;
                SaveGame.Instance.data.unpickedCamprocks.Remove(pickableData);
                break;

            default:
                break;
            }
            pickableData = null;
            is_clicked   = false;
            Destroy(gameObject);
        }
    }
예제 #6
0
 public SaveContactPoint(Vector3 position, Vector3 eulerAngles, Vector3 scale)
 {
     this.position    = new SaveVector3(position.x, position.y, position.z);
     this.eulerAngles = new SaveVector3(eulerAngles.x, eulerAngles.y, eulerAngles.z);
     this.scale       = new SaveVector3(scale.x, scale.y, scale.z);
 }
예제 #7
0
 public float fieldOfView;       //视口角度大小
 public SaveCamera(Vector3 position, Vector3 eulerAngles, float fieldOfView)
 {
     this.position    = new SaveVector3(position.x, position.y, position.z);
     this.eulerAngles = new SaveVector3(eulerAngles.x, eulerAngles.y, eulerAngles.z);
     this.fieldOfView = fieldOfView;
 }