Ejemplo n.º 1
0
    //Spawn an existing one in the save file (such as after loading)
    public static Construction Spawn(string uid)
    {
        BuiltConstructionData bdata = PlayerData.Get().GetConstructed(uid);

        if (bdata != null)
        {
            ConstructionData cdata = ConstructionData.Get(bdata.construction_id);
            if (cdata != null)
            {
                GameObject   build     = Instantiate(cdata.construction_prefab, bdata.pos, cdata.construction_prefab.transform.rotation);
                Construction construct = build.GetComponent <Construction>();
                construct.data                = cdata;
                construct.was_built           = true;
                construct.unique_id.unique_id = uid;

                Destructible destruct = construct.GetComponent <Destructible>();
                if (destruct != null)
                {
                    destruct.was_built = true;
                }
                return(construct);
            }
        }
        return(null);
    }
Ejemplo n.º 2
0
    public void FinishContruction()
    {
        building_mode      = false;
        is_overlap         = false;
        selectable.enabled = true;
        foreach (Collider collide in colliders)
        {
            collide.isTrigger = false;
        }

        destruct = GetComponent <Destructible>();
        if (destruct)
        {
            destruct.enabled   = true;
            destruct.was_built = true;
        }

        SetModelColor(Color.white);

        BuiltConstructionData cdata = PlayerData.Get().AddConstruction(data.id, SceneNav.GetCurrentScene(), transform.position);

        unique_id.unique_id = cdata.uid;

        if (build_fx != null)
        {
            Instantiate(build_fx, transform.position, Quaternion.identity);
        }
        TheAudio.Get().PlaySFX("construction", build_audio);

        if (onBuild != null)
        {
            onBuild.Invoke();
        }
    }
Ejemplo n.º 3
0
    public BuiltConstructionData AddConstruction(string construct_id, string scene, Vector3 pos)
    {
        BuiltConstructionData citem = new BuiltConstructionData();

        citem.uid                      = UniqueID.GenerateUniqueID();
        citem.construction_id          = construct_id;
        citem.scene                    = scene;
        citem.pos                      = pos;
        built_constructions[citem.uid] = citem;
        return(citem);
    }