Commit 7f804e8d authored by redsuncore's avatar redsuncore

Print Productable List

생산 가능한 유닛 배열 읽어오고  출력
parent b035ac60
fileFormatVersion: 2
guid: 14316eefeff7b8c4882dee9cb31df5f1
timeCreated: 1516876811
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4634f6e523cefa643a00da04c691cfb1
timeCreated: 1516876804
licenseType: Free
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
isOverridable: 0
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: 51a4ccfc53e3bd3489fedcd4adb9e458 guid: 51a4ccfc53e3bd3489fedcd4adb9e458
timeCreated: 1516736761 timeCreated: 1516870846
licenseType: Free licenseType: Free
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
......
This diff is collapsed.
fileFormatVersion: 2
guid: 2413c1b1e7b93b84a957f43c0249b262
timeCreated: 1516870830
licenseType: Free
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2 fileFormatVersion: 2
guid: f6fc0c038e7ce6640910e93606bc6076 guid: f6fc0c038e7ce6640910e93606bc6076
timeCreated: 1516736761 timeCreated: 1516870846
licenseType: Free licenseType: Free
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
......
<?xml version="1.0"?>
<doc>
<assembly>
<name>CivPresenter</name>
</assembly>
<members>
<member name="T:CivPresenter.Direction">
<summary>
Represents a direction.
</summary>
</member>
<member name="F:CivPresenter.Direction.Up">
<summary>
Up direction
</summary>
</member>
<member name="F:CivPresenter.Direction.Down">
<summary>
Down direction
</summary>
</member>
<member name="F:CivPresenter.Direction.Left">
<summary>
Left direction
</summary>
</member>
<member name="F:CivPresenter.Direction.Right">
<summary>
Right direction
</summary>
</member>
<member name="T:CivPresenter.IView">
<summary>
The interface represents a View.
</summary>
</member>
<member name="M:CivPresenter.IView.Refocus">
<summary>
Called when view should refocus on <see cref="P:CivPresenter.Presenter.FocusedPoint"/>
</summary>
</member>
<member name="M:CivPresenter.IView.Shutdown">
<summary>
Called when the game should be shutdown.
</summary>
</member>
<member name="T:CivPresenter.Presenter">
<summary>
Represents a presenter.
</summary>
<remarks>
The presenter works like a Finite State Machine.
<see cref="P:CivPresenter.Presenter.State"/> is changed by Command~~~ operations.
</remarks>
</member>
<member name="P:CivPresenter.Presenter.View">
<summary>
The <see cref="T:CivPresenter.IView"/> object
</summary>
</member>
<member name="P:CivPresenter.Presenter.Game">
<summary>
The <see cref="P:CivPresenter.Presenter.Game"/> object
</summary>
</member>
<member name="P:CivPresenter.Presenter.SelectedActor">
<summary>
The selected <see cref="T:CivModel.Actor"/>.
</summary>
</member>
<member name="P:CivPresenter.Presenter.FocusedPoint">
<summary>
The focused <see cref="T:CivModel.Terrain.Point"/>.
This point can be changed by [arrow key] command, or View's calling setter.
</summary>
</member>
<member name="P:CivPresenter.Presenter.IsThereTodos">
<summary>
Whether there is something to do in this turn.
If this value is <c>false</c>, user can go to the next turn
</summary>
</member>
<member name="P:CivPresenter.Presenter.RunningAction">
<summary>
The <see cref="T:CivModel.IReadOnlyActorAction"/> object used now.
<c>null</c> if no action is being done.
</summary>
</member>
<member name="P:CivPresenter.Presenter.SelectedDeploy">
<summary>
Index of the selected deploy to <see cref="P:CivModel.Player.Deployment"/> list.
<c>-1</c> if there is no selected deploy.
If <see cref="P:CivPresenter.Presenter.SelectedProduction"/> is not <c>-1</c>, this value is <c>-1</c>.
This value is valid iff <c><see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.ProductUI"/></c>
</summary>
</member>
<member name="P:CivPresenter.Presenter.SelectedProduction">
<summary>
Index of the selected production to <see cref="P:CivModel.Player.Production"/> list.
<c>-1</c> if there is no selected production.
If <see cref="P:CivPresenter.Presenter.SelectedDeploy"/> is not <c>-1</c>, this value is <c>-1</c>
This value is valid iff <c><see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.ProductUI"/> || <see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.ProductAdd"/></c>
</summary>
</member>
<member name="P:CivPresenter.Presenter.IsProductManipulating">
<summary>
Whether user is manipulating a production.
This value is valid iff <c><see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.ProductUI"/></c>
</summary>
</member>
<member name="P:CivPresenter.Presenter.AvailableProduction">
<summary>
The list of the available production, retrieved by <see cref="M:CivModel.Player.GetAvailableProduction"/>
This value is valid iff <c><see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.ProductAdd"/></c>
</summary>
</member>
<member name="P:CivPresenter.Presenter.DeployProduction">
<summary>
The production to deploy.
This value is valid iff <c><see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.Deploy"/></c>
</summary>
</member>
<member name="T:CivPresenter.Presenter.States">
<summary>
Indicates the state of <see cref="T:CivPresenter.Presenter"/>.
</summary>
</member>
<member name="P:CivPresenter.Presenter.State">
<summary>
The state of <see cref="T:CivPresenter.Presenter"/>.
</summary>
</member>
<member name="P:CivPresenter.Presenter.StateParam">
<summary>
The parameter of this <see cref="P:CivPresenter.Presenter.State"/>.
This value is valid iff <c><see cref="P:CivPresenter.Presenter.State"/> == <see cref="F:CivPresenter.Presenter.States.SpecialAct"/></c>,
and the value is the number of a special action.
</summary>
</member>
<member name="M:CivPresenter.Presenter.#ctor(CivPresenter.IView)">
<summary>
Initializes a new instance of the <see cref="T:CivPresenter.Presenter"/> class.
</summary>
<param name="view">The <see cref="T:CivPresenter.IView"/> object.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="view"/> is <c>null</c></exception>
</member>
<member name="M:CivPresenter.Presenter.CommandApply">
<summary>
Gives the command [apply].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandCancel">
<summary>
Gives the command [cancel].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandArrowKey(CivPresenter.Direction)">
<summary>
Gives the command [arrow key].
</summary>
<param name="direction">The direction.</param>
</member>
<member name="M:CivPresenter.Presenter.CommandNumeric(System.Int32)">
<summary>
Gives the command [numeric].
</summary>
<param name="index">The index.</param>
</member>
<member name="M:CivPresenter.Presenter.CommandRemove">
<summary>
Gives the command [remove].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandSkip">
<summary>
Gives the command [skip].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandRefocus">
<summary>
Gives the command [refocus].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandSelect">
<summary>
Gives the command [select].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandMove">
<summary>
Gives the command [move].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandMovingAttack">
<summary>
Gives the command [moving attack].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandHoldingAttack">
<summary>
Gives the command [holding attack].
</summary>
</member>
<member name="M:CivPresenter.Presenter.CommandProductUI">
<summary>
Gives the command [product UI].
</summary>
</member>
</members>
</doc>
fileFormatVersion: 2
guid: c10ada295d908db498d79b64d9cff2c3
timeCreated: 1516870830
licenseType: Free
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
...@@ -90,6 +90,7 @@ GameObject: ...@@ -90,6 +90,7 @@ GameObject:
- component: {fileID: 224635366301630854} - component: {fileID: 224635366301630854}
- component: {fileID: 222970078337475532} - component: {fileID: 222970078337475532}
- component: {fileID: 114679369746084800} - component: {fileID: 114679369746084800}
- component: {fileID: 114908169078035334}
m_Layer: 5 m_Layer: 5
m_Name: UnitToProduce m_Name: UnitToProduce
m_TagString: Untagged m_TagString: Untagged
...@@ -335,6 +336,17 @@ MonoBehaviour: ...@@ -335,6 +336,17 @@ MonoBehaviour:
m_Calls: [] m_Calls: []
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null Culture=neutral, PublicKeyToken=null
--- !u!114 &114908169078035334
MonoBehaviour:
m_ObjectHideFlags: 1
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 1801080642894318}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1b9aa6e20622168439f93d177f66126d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!222 &222038997346745586 --- !u!222 &222038997346745586
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
......
fileFormatVersion: 2
guid: fdbff4056a8dcda4b9536bd830dbbb16
folderAsset: yes
timeCreated: 1516878078
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3352994afabe1644096433a73294f55e
timeCreated: 1516878335
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 9851c6404b168ba40b0217673e1d2c1a
timeCreated: 1516878336
licenseType: Free
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -1
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
...@@ -512,3 +512,16 @@ public class CIVGameManager : MonoBehaviour, IView { ...@@ -512,3 +512,16 @@ public class CIVGameManager : MonoBehaviour, IView {
} }
} }
public class ProductionFactoryTraits
{
public static string GetFactoryName(IProductionFactory factory)
{
if (factory == PioneerProductionFactory.Instance)
return "Pioneer";
else if (factory == JediKnightProductionFactory.Instance)
return "JediKnight";
else
return "null";
}
}
...@@ -23,10 +23,20 @@ public class ManagementUIController : MonoBehaviour { ...@@ -23,10 +23,20 @@ public class ManagementUIController : MonoBehaviour {
public List<GameObject> PQlist; public List<GameObject> PQlist;
public List<GameObject> DQlist; public List<GameObject> DQlist;
public List<GameObject> SQlist;
public GameObject proPrefab; public GameObject proPrefab;
public GameObject depPrefab; // prefab templates public GameObject depPrefab;
public Button newPioneer; // new unit production when clicked public GameObject productablePrefab; // prefab templates
public GameObject proQueue;
public GameObject depQueue;
public GameObject productableQueue;
private IReadOnlyList<IProductionFactory> facList;
public void SetManagementUI(bool val) public void SetManagementUI(bool val)
{ {
...@@ -40,14 +50,65 @@ public class ManagementUIController : MonoBehaviour { ...@@ -40,14 +50,65 @@ public class ManagementUIController : MonoBehaviour {
item.GetComponents<Text>()[1].text = unit.GetType().ToString(); item.GetComponents<Text>()[1].text = unit.GetType().ToString();
return item; return item;
} }
public GameObject MakeProductItem(GameObject prefab, Unit unit)
{
GameObject item = Instantiate(prefab);
item.GetComponents<Text>()[1].text = unit.GetType().ToString();
return item;
}
public GameObject MakeSelectionItem(GameObject prefab, Unit unit)
{
GameObject item = Instantiate(prefab);
item.GetComponents<Text>()[1].text = unit.GetType().ToString();
return item;
}
public void InitiateSelectionTap(Player player)
{
mPresenter.CommandApply();
var factoryList = mPresenter.AvailableProduction;
}
public void ManageButton() // Management tab on/off button public void ManageButton() // Management tab on/off button
{ {
if (mPresenter.State == Presenter.States.Normal) if (mPresenter.State == Presenter.States.Normal)
{ {
mPresenter.CommandProductUI(); mPresenter.CommandProductUI();
if(mPresenter.State == Presenter.States.ProductUI)
{
List<GameObject> tempList = new List<GameObject>();
Debug.Log("SelectList startMaking");
mPresenter.CommandApply();
foreach(GameObject sq in SQlist)
{
Destroy(sq);
}
SQlist.Clear();
facList = mPresenter.AvailableProduction;
Debug.Log("facList : " + facList.Count);
Debug.Log("SelectList Updated");
foreach (IProductionFactory fac in facList)
{
var SPrefab = Instantiate(productablePrefab, new Vector3(0f, 0f, 0f), Quaternion.identity);
SPrefab.transform.SetParent(productableQueue.transform);
SPrefab.transform.localScale = new Vector3(1f, 1f, 1f);
SPrefab.transform.localPosition = new Vector3(0f, 0f, 0f);
tempList.Add(SPrefab.GetComponent<SelPrefab>().MakeItem(fac));
}
if(facList.Count == 0)
{
Debug.Log("SelectList null");
var SPrefab = Instantiate(productablePrefab, new Vector3(0f, 0f, 0f), Quaternion.identity);
SPrefab.transform.SetParent(productableQueue.transform);
SPrefab.transform.localScale = new Vector3(1f, 1f, 1f);
SPrefab.transform.localPosition = new Vector3(0f, 0f, 0f);
SPrefab.GetComponent<SelPrefab>().MakeItem();
tempList.Add(SPrefab);
}
SQlist = tempList;
mPresenter.CommandCancel();
}
} }
else if (mPresenter.State == Presenter.States.ProductUI) else if (mPresenter.State == Presenter.States.ProductUI)
{ {
...@@ -62,6 +123,8 @@ public class ManagementUIController : MonoBehaviour { ...@@ -62,6 +123,8 @@ public class ManagementUIController : MonoBehaviour {
mPresenter = gameManager.GetPresenter(); mPresenter = gameManager.GetPresenter();
mPlayers = mPresenter.Game.Players; mPlayers = mPresenter.Game.Players;
SQlist = new List<GameObject>();
} }
void Update() void Update()
...@@ -74,19 +137,16 @@ public class ManagementUIController : MonoBehaviour { ...@@ -74,19 +137,16 @@ public class ManagementUIController : MonoBehaviour {
case CivPresenter.Presenter.States.Deploy: case CivPresenter.Presenter.States.Deploy:
{ {
SetManagementUI(true); SetManagementUI(true);
Debug.Log("State : Deploy");
break; break;
} }
case CivPresenter.Presenter.States.ProductUI: case CivPresenter.Presenter.States.ProductUI:
{ {
SetManagementUI(true); SetManagementUI(true);
Debug.Log("State : ProductUI");
break; break;
} }
case CivPresenter.Presenter.States.ProductAdd: case CivPresenter.Presenter.States.ProductAdd:
{ {
SetManagementUI(true); SetManagementUI(true);
Debug.Log("State : ProductAdd");
break; break;
} }
default: default:
......
fileFormatVersion: 2
guid: bb5c031ea7288d24e8fc40ea3c0fea14
folderAsset: yes
timeCreated: 1516875588
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
...@@ -2,11 +2,10 @@ ...@@ -2,11 +2,10 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
public class UnitPrefab : MonoBehaviour { public class DepPrefab : MonoBehaviour {
private Sprite unitSprite; // Use this for initialization
// Use this for initialization void Start () {
void Start () {
} }
......
fileFormatVersion: 2 fileFormatVersion: 2
guid: bbaf9c8cdce663f40a668f27a88513e9 guid: bdf0fa739872652438abde0f4b5f6f2a
timeCreated: 1515871728 timeCreated: 1516875551
licenseType: Free licenseType: Free
MonoImporter: MonoImporter:
externalObjects: {} externalObjects: {}
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ProPrefab : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
fileFormatVersion: 2
guid: 3ce71f86ddf9be04dac73d95cd355f41
timeCreated: 1516875535
licenseType: Free
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using CivModel;
using CivModel.Common;
using CivPresenter;
public class SelPrefab : MonoBehaviour {
private Text unitName;
private Image unitPrt;
private Text theNumberofProduce;
// Use this for initialization
void Awake () {
Debug.Log("call SelPre");
unitName = gameObject.GetComponentsInChildren<Text>()[1];
unitName.text = "초기";
unitPrt = gameObject.GetComponentsInChildren<Image>()[0];
theNumberofProduce = gameObject.GetComponentsInChildren<Text>()[2];
}
void Start()
{
}
// Update is called once per frame
void Update () {
}
public GameObject MakeItem(IProductionFactory fact)
{
string nameofFactory = ProductionFactoryTraits.GetFactoryName(fact);
unitPrt.sprite = Resources.Load<Sprite>("Unit_portrait/" + nameofFactory);
unitName.text = nameofFactory;
theNumberofProduce.text = "X 1";
return this.gameObject;
}
public GameObject MakeItem()
{
if(unitName == null)
{
Debug.Log("Fuck");
}
unitName.text = "생산 가능 유닛 없음";
unitName.fontSize = 10;
theNumberofProduce.text = "";
return this.gameObject;
}
}
fileFormatVersion: 2
guid: 1b9aa6e20622168439f93d177f66126d
timeCreated: 1516875573
licenseType: Free
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment