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.

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;
    }
}

 

Share this post


Link to post
Share on other sites
BlueLance    807

I wont lie, I understand very little of this, but the one thing I understand is that you put together some amazing, detailed and useful information. Your work is greatly appreciated!

Share this post


Link to post
Share on other sites
Flydo    150

Can't wait for Radium or mercury (a deadly liquid metal could be interesting)

Share this post


Link to post
Share on other sites

Update to the last Expressive Upgrade Testing Branch, though I don't know if there is any difference with CU Upgrade.:p

 

BTW, I add descriptions and also update code of Extractor.

Share this post


Link to post
Share on other sites
erso    24

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)

Share this post


Link to post
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?

Share this post


Link to post
Share on other sites
erso    24
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.

Share this post


Link to post
Share on other sites
On 2018/7/30 at 2:09 PM, erso said:

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.

It's really strange that I forgot to reply you, hmmmmm......Sorry

Material Handbook.xlsx

Share this post


Link to post
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

Share this post


Link to post
Share on other sites