Beispiel #1
0
    void GenerateRoom(DunGen.Room roomBase)
    {
        // pick a room template from the floor;
        var roomTemplateKey = tpd.RollMap(env.roomTemplateChances);
        var roomTemplate    = JSONResource.Get <RoomTemplate>(roomTemplateKey);
        var roomGenerator   = new RoomGenerator(env, roomTemplate, roomBase);

        env.rooms.Add(roomGenerator.CreateRoom());
    }
Beispiel #2
0
    void ParseSingleConfig(JSONNode config)
    {
        var type = config["type"].Value;

        switch (type)
        {
        case Setting.type:
            JSONResource.Cache <Setting>(config);
            break;

        case SlotType.type:
            SlotType.Cache(config);
            break;

        case EquipmentDesignation.type:
            EquipmentDesignation.Cache(config);
            break;

        case EquipmentType.type:
            EquipmentType.Cache(config);
            break;

        case ConsumableTemplate.type:
            JSONResource.Cache <ConsumableTemplate>(config);
            break;

        case EnvironmentTemplate.type:
            JSONResource.Cache <EnvironmentTemplate>(config);
            break;

        case Environment.type:
            JSONResource.Cache <Environment>(config);
            break;

        case RoomTemplate.type:
            JSONResource.Cache <RoomTemplate>(config);
            break;

        case MobTemplate.type:
            JSONResource.Cache <MobTemplate>(config);
            break;

        case InteractionTemplate.type:
            JSONResource.Cache <InteractionTemplate>(config);
            break;

        case Rarity.type:
            Rarity.Cache(config);
            break;

        default:
            Debug.LogWarning(string.Format("Failed to load {0} {1}", config["type"], config["key"]));
            break;
        }
    }
Beispiel #3
0
    void GenerateInteractible(Tile tile)
    {
        var interactibleTemplateKey = tpd.RollMap(env.interactibleChances);
        var interactibleTemplate    = JSONResource.Get <InteractionTemplate>(interactibleTemplateKey);
        var interactibleGenerator   = new InteractionGenerator(interactibleTemplate);
        var interactible            = interactibleGenerator.Generate();
        var randomTile = room.RandomOpenTile();

        interactible.position = randomTile.position;

        InteractibleStore.Save(interactible);
        randomTile.Occupy(Constants.interactibleContentKey, interactible.id);
    }
Beispiel #4
0
    void GenerateMob(Tile tile)
    {
        var mobTemplateKey = tpd.RollMap(env.mobChances);

        var mobTemplate  = JSONResource.Get <MobTemplate>(mobTemplateKey);
        var mobGenerator = new MobGenerator(mobTemplate);
        var mob          = mobGenerator.Generate();
        var randomTile   = room.RandomOpenTile();

        mob.position = randomTile.position;

        MobStore.Save(mob);
        randomTile.Occupy(Constants.mobContentKey, mob.id);
    }
Beispiel #5
0
    public void Enter()
    {
        var interactionTemplateKey = sim.currentEnvironment.enterInteractionTemplateKey;
        var interactionTemplate    = JSONResource.Get <InteractionTemplate>(interactionTemplateKey);

        if (interactionTemplate == null)
        {
            return;
        }

        var interaction = InteractionGenerator.Generate(interactionTemplate);

        sim.SetInteraction(interaction);
        var interactionProcessor = new InteractionProcessor(sim);

        interactionProcessor.Start();
    }