Jump to content

Recommended Posts

↘↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↙
Material Handbook-SU-Online
↗↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↖

============================================================================================

RU version

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Solid

1.thumb.png.0dc322edab42e8b22e8909de956fb1a5.png

Liquid

2.thumb.png.4378a7810766689e9e18a77ed383699e.png

Gas

3.thumb.png.f6a9c0a016fa5b094bd241b4b94a5091.png

Special

4.thumb.png.d188f0a42dc278107b8c6397ab4c2a2c.png

 

History

Code

Spoiler

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using STRINGS;

public partial class ElementLoader
{

    private static void FinaliseElementsTable(ref Hashtable substanceList, SubstanceTable substanceTable)
    {
        *******************
        **Original Code**
        *******************
        string text = ",Name,Description,Status,Resource Type,Properties,Toxicity,Molar Mass,Light Absorption Factor,SpecificHeat Capacity,Thermal Conductivity,Solid Surface Area Multiplier,Liquid Surface Area Multiplier,Gas Surface Area Multiplier,Low Transition Temp,Low Transition Target,Low Sub Target Mass Conversion,Low Transition Sub Target,High Transition Temp,High Transition Target,High Sub Target Mass Conversion,High Transition Sub Target,Sublimate Target,Default Temperature,Default Mass,Default Pressure,Max Mass,Strength,Hardness,Flow,MaxCompression,Viscosity,Min Horizontal Flow,Min Vertical Flow,Junk-Disabled,lowTempTransition,highTempTransition,SublimateAnime,substance,convertId,\n";
        for (int i = 0; i < ElementLoader.elements.Count; i++)
        {
            Element element = ElementLoader.elements;
            if (element != null)
            {
                string text2 = "";
                string text3 = "";
                for (int j = 0; j < element.oreTags.Length; j++)
                {
                    text2 += Strings.Get("STRINGS.MISC.TAGS." + element.oreTags[j].ToString().ToUpper());
                    if (j < element.oreTags.Length - 1)
                    {
                        text2 += "&";
                    }
                }
                if (element.state >= Element.State.TemperatureInsulated)
                {
                    text3 += "TemperatureInsulated&";
                    Element element6 = element;
                    element6.state = (Element.State)(element6.state - Element.State.TemperatureInsulated);
                }
                if (element.state >= Element.State.Unstable)
                {
                    text3 += "Unstable&";
                    Element element7 = element;
                    element7.state = (Element.State)(element7.state - Element.State.Unstable);
                }
                if (element.state >= Element.State.Unbreakable)
                {
                    text3 += "Unbreakable&";
                    Element element8 = element;
                    element8.state = (Element.State)(element8.state - Element.State.Unbreakable);
                }
                text3 += element.state;
                text = ElementLoader.BuildString(new object[]
                {
                    text,
                    UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.id.ToString().ToUpper() + ".NAME")),
                    UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.id.ToString().ToUpper() + ".DESC")),
                    text3,
                    Strings.Get("STRINGS.MISC.TAGS." + element.materialCategory.ToString().ToUpper()),
                    text2,
                    element.toxicity,
                    element.molarMass,
                    element.lightAbsorptionFactor,
                    element.specificHeatCapacity,
                    element.thermalConductivity,
                    element.solidSurfaceAreaMultiplier,
                    element.liquidSurfaceAreaMultiplier,
                    element.gasSurfaceAreaMultiplier,
                    element.lowTemp,
                    (element.lowTempTransitionTarget != (SimHashes)0) ? UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.lowTempTransitionTarget.ToString().ToUpper() + ".NAME")): "null",
                    
                    element.lowTempTransitionOreMassConversion,
                    (element.lowTempTransitionOreID != SimHashes.Vacuum) ? UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.lowTempTransitionOreID.ToString().ToUpper() + ".NAME")): "null",
                    
                    element.highTemp,
                    (element.highTempTransitionTarget != (SimHashes)0) ? UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.highTempTransitionTarget.ToString().ToUpper() + ".NAME")): "null",
                    
                    element.highTempTransitionOreMassConversion,
                    (element.highTempTransitionOreID != SimHashes.Vacuum) ? UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.highTempTransitionOreID.ToString().ToUpper() + ".NAME")): "null",
                    
                    (element.sublimateId != (SimHashes)0) ? UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.sublimateId.ToString().ToUpper() + ".NAME")): "null",
                    element.defaultValues.temperature,
                    element.defaultValues.mass,
                    element.defaultValues.pressure,
                    element.maxMass,
                    
                    element.strength,
                    element.hardness,
                    element.flow,
                    element.maxCompression,
                    element.viscosity,
                    element.minHorizontalLiquidFlow,
                    element.minVerticalLiquidFlow,
                    element.disabled,
                    element.lowTempTransition,
                    element.highTempTransition,
                    element.sublimateFX,
                    element.substance.idx,
                    (element.convertId != (SimHashes)0) ? UI.StripLinkFormatting(Strings.Get("STRINGS.ELEMENTS." + element.convertId.ToString().ToUpper() + ".NAME")): "null",
                    "\n"
                });
            }
        }
        UnityEngine.Debug.LogError(text);
    }
    private static string BuildString(object[] objs)
    {
        string text = "";
        if (objs.Length != 0)
        {
            text = ((objs[0] == null) ? "null" : objs[0].ToString());
            for (int i = 1; i < objs.Length; i++)
            {
                object obj = objs;
                text = text + "," + ((obj == null) ? "null" : obj.ToString());
            }
        }
        return text;
    }
}

 

Link to comment
Share on other sites

I also use a similar listing based on the game data in Google Sheets (the steps in the preparation of the data can be followed in the table formulas).

The reason why I use Google Sheets is that I want to sort and I want to view relationships through filter views.

The link is: https://docs.google.com/spreadsheets/d/1BtvcbKz_Fo_y_F0dZOH2GG_2K-tAgfZLO35YlEIqzC8

The data can also be imported into own tables via =IMPORTRANGE("1BtvcbKz_Fo_y_F0dZOH2GG_2K-tAgfZLO35YlEIqzC8","merged_raw!A:I"). (The behavior with public filter views is strange at google-sheets ...).

 

(pls excuse my english)

Link to comment
Share on other sites

19 minutes ago, erso said:

I also use a similar listing based on the game data in Google Sheets (the steps in the preparation of the data can be followed in the table formulas).

The reason why I use Google Sheets is that I want to sort and I want to view relationships through filter views.

The link is: https://docs.google.com/spreadsheets/d/1BtvcbKz_Fo_y_F0dZOH2GG_2K-tAgfZLO35YlEIqzC8

The data can also be imported into own tables via =IMPORTRANGE("1BtvcbKz_Fo_y_F0dZOH2GG_2K-tAgfZLO35YlEIqzC8","merged_raw!A:I"). (The behavior with public filter views is strange at google-sheets ...).

 

(pls excuse my english)

Looks like you are using the name of elements in code instead of name in game. I know it's convenient but might be confusing for some normal players. Translating and checking them by hand is tooooooo annoying, so I choose to write a extractor.

I have never used Google Sheet. Are you willing to import my excel to your Google Sheet?

Link to comment
Share on other sites

On 7/26/2018 at 8:45 PM, R9MX4 said:

I have never used Google Sheet. Are you willing to import my excel to your Google Sheet?

Excuse the late reply, I like to import your tables. Can you provide me with the raw data from the "Element Properties Extractor" as an example? I would then process the data according to your tables.

Link to comment
Share on other sites

Add an online sheet for SU test branch. It's an editable link. So you can leave some useful information, but don't make mess.

======

On 2018/9/25 at 12:42 PM, D.L.S. said:

Does anyone know what units for this "Min Horizontal/Vertical Flow", cubic meter per second?

kg per grid per tick

 

grid means distance, if you think the size of each grid is one square meter, than yes the distance here is one meter

tick: 0.2second

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...