Exemplo n.º 1
0
    public override void BindToParkitect(GameObject hider, AssetBundle bundle)
    {
        BaseDecorator        baseDecorator     = DecoratorByInstance <BaseDecorator>();
        SeatDecorator        seatDecorator     = DecoratorByInstance <SeatDecorator>();
        ColorDecorator       colorDecorator    = DecoratorByInstance <ColorDecorator>();
        BoundingBoxDecorator boxDecorator      = DecoratorByInstance <BoundingBoxDecorator>();
        CategoryDecorator    categoryDecorator = DecoratorByInstance <CategoryDecorator>();

        GameObject gameObject = Instantiate(bundle.LoadAsset <GameObject>(Key));;

        gameObject.transform.parent = hider.transform;

        _seat      = gameObject.AddComponent <Seating>();
        _seat.name = Key;

        RemapUtility.RemapMaterials(gameObject);

        baseDecorator.Decorate(gameObject, hider, this, bundle);
        colorDecorator.Decorate(gameObject, hider, this, bundle);
        categoryDecorator.Decorate(gameObject, hider, this, bundle);

        foreach (var box in boxDecorator.BoundingBoxes)
        {
            var b = Prefab.AddComponent <BoundingBox>();
            b.setBounds(box.Bounds);
        }

        AssetManager.Instance.registerObject(_seat);
    }
        public override void BindToParkitect(GameObject hider, AssetBundle bundle)
        {
            base.BindToParkitect(hider, bundle);

            BaseDecorator        baseDecorator     = DecoratorByInstance <BaseDecorator>();
            CategoryDecorator    categoryDecorator = DecoratorByInstance <CategoryDecorator>();
            ColorDecorator       colorDecorator    = DecoratorByInstance <ColorDecorator>();
            BoundingBoxDecorator boxDecorator      = DecoratorByInstance <BoundingBoxDecorator>();

            GameObject go = Instantiate(bundle.LoadAsset <GameObject>(Key));

            Wall wall = go.AddComponent <Wall>();

            wall.name        = Key;
            wall.categoryTag = categoryDecorator.Category;
            wall.price       = baseDecorator.Price;
            wall.setDisplayName(baseDecorator.InGameName);
            wall.dontSerialize = true;
            wall.isPreview     = true;

            if (colorDecorator.IsRecolorable)
            {
                CustomColors colors = go.AddComponent <CustomColors>();
                colors.setColors(colorDecorator.Colors.ToArray());
            }

            foreach (var box in boxDecorator.BoundingBoxes)
            {
                var b = go.AddComponent <BoundingBox>();
                b.setBounds(box.Bounds);
            }
        }
    public override void BindToParkitect(GameObject hider, AssetBundle bundle)
    {
        BaseDecorator        baseDecorator        = DecoratorByInstance <BaseDecorator>();
        WaypointDecorator    waypointDecorator    = DecoratorByInstance <WaypointDecorator>();
        BoundingBoxDecorator boundingBoxDecorator = DecoratorByInstance <BoundingBoxDecorator>();
        ColorDecorator       colorDecorator       = DecoratorByInstance <ColorDecorator>();

        GameObject gameObject = Instantiate(bundle.LoadAsset <GameObject>(Key));

        RemapUtility.RemapMaterials(gameObject);

        waypointDecorator.Decorate(gameObject, hider, this, bundle);


        CustomFlatRide flatride = gameObject.AddComponent <CustomFlatRide>();

        baseDecorator.Decorate(gameObject, hider, this, bundle);
        colorDecorator.Decorate(gameObject, hider, this, bundle);


        _flatRide                 = flatride;
        _flatRide.name            = Key;
        flatride.xSize            = XSize;
        flatride.zSize            = ZSize;
        flatride.excitementRating = Excitement;
        flatride.intensityRating  = Intensity;
        flatride.nauseaRating     = Nausea;


        RestraintRotationController controller = gameObject.AddComponent <RestraintRotationController>();

        controller.closedAngles = ClosedAngleRetraints;


        //Basic FlatRide Settings
        flatride.fenceStyle            = AssetManager.Instance.rideFenceStyles.rideFenceStyles[0].identifier;
        flatride.entranceGO            = AssetManager.Instance.attractionEntranceGO;
        flatride.exitGO                = AssetManager.Instance.attractionExitGO;
        flatride.categoryTag           = FlatRideCategory;
        flatride.defaultEntranceFee    = 1f;
        flatride.entranceExitBuilderGO = AssetManager.Instance.flatRideEntranceExitBuilderGO;

        AssetManager.Instance.registerObject(_flatRide);
    }
    public override void BindToParkitect(GameObject hider, AssetBundle bundle)
    {
        BaseDecorator        baseDecorator     = DecoratorByInstance <BaseDecorator>();
        GridDecorator        gridDecorator     = DecoratorByInstance <GridDecorator>();
        CategoryDecorator    categoryDecorator = DecoratorByInstance <CategoryDecorator>();
        ColorDecorator       colorDecorator    = DecoratorByInstance <ColorDecorator>();
        BoundingBoxDecorator boxDecorator      = DecoratorByInstance <BoundingBoxDecorator>();

        GameObject gameObject = Instantiate(bundle.LoadAsset <GameObject>(Key));

        gameObject.transform.parent = hider.transform;

        _deco      = gameObject.AddComponent <Deco>();
        _deco.name = Key;

        _deco.buildOnLayerMask        = 4096;
        _deco.heightChangeDelta       = gridDecorator.HeightDelta;
        _deco.defaultGridSubdivision  = gridDecorator.GridSubdivision;
        _deco.buildOnGrid             = gridDecorator.Grid;
        _deco.defaultSnapToGridCenter = gridDecorator.Snap;

        _deco.isPreview     = true;
        _deco.isStatic      = true;
        _deco.dontSerialize = true;

        RemapUtility.RemapMaterials(gameObject);

        baseDecorator.Decorate(gameObject, hider, this, bundle);
        colorDecorator.Decorate(gameObject, hider, this, bundle);
        categoryDecorator.Decorate(gameObject, hider, this, bundle);


        foreach (var box in boxDecorator.BoundingBoxes)
        {
            var b = gameObject.AddComponent <BoundingBox>();
            b.setBounds(box.Bounds);
        }

        AssetManager.Instance.registerObject(_deco);
    }
Exemplo n.º 5
0
    public override void BindToParkitect(GameObject hider, AssetBundle bundle)
    {
        BaseDecorator        baseDecorator     = DecoratorByInstance <BaseDecorator>();
        CategoryDecorator    categoryDecorator = DecoratorByInstance <CategoryDecorator>();
        BoundingBoxDecorator boxDecorator      = DecoratorByInstance <BoundingBoxDecorator>();

        PathStyle c  = AssetManager.Instance.pathStyles.getPathStyle("concrete");
        PathStyle ps = new PathStyle();

        ps.handRailGO     = c.handRailGO;
        ps.handRailRampGO = c.handRailRampGO;
        Material mat = Instantiate(c.material);

        mat.mainTexture          = bundle.LoadAsset <Texture>(PathTexturePath);
        ps.material              = mat;
        ps.platformTileMapper    = AssetManager.Instance.platformTileMapper;
        ps.identifier            = Key;
        ps.spawnSound            = c.spawnSound;
        ps.despawnSoundEvent     = c.despawnSoundEvent;
        ps.spawnLastSound        = c.spawnLastSound;
        ps.spawnTilesOnPlatforms = true;

        _pathStyle = ps;

        switch (PathType)
        {
        case PathType.Normal:
            AssetManager.Instance.pathStyles.registerPathStyle(ps);
            break;

        case PathType.Queue:
            AssetManager.Instance.queueStyles.registerPathStyle(ps);
            break;

        case PathType.Employee:
            AssetManager.Instance.employeePathStyles.registerPathStyle(ps);
            break;
        }
    }