public static Vector3 GetElementWorldPos(StageData.StageElement ele, float x, float z) { Vector3 vNew = new Vector3(x, 0, z); Vector3 vOffset = GetElementOffset(ele); return(vNew + vOffset); }
public static UnityEngine.Object GetElementAsset(StageData.StageElement ele) { string path = element_asset_path[GetPaintTypeIndex(ele)]; if (path == null || path.Length == 0) { return(null); } return(GameUtils.LoadResource(path)); }
public static Vector3 GetElementOffset(StageData.StageElement ele) { int index = GetPaintTypeIndex(ele); if (index >= 0 && index < element_asset_pos_offset.Length) { return(element_asset_pos_offset[index]); } return(Vector3.zero); }
public static int GetPaintTypeIndex(StageData.StageElement ele) { for (int i = 0; i < ELEMENT_TYPE_ENUMS.Length; i++) { if (ELEMENT_TYPE_ENUMS[i] == ele) { return(i); } } return(-1); }
void CreateStageElement(StageData.StageElement ele, int x, int z, List <GameObject> list) { if (ele == StageData.StageElement.None) { return; } GameObject stageRoot = GameObject.Find("World/Stage"); if (stageRoot == null) { return; } if (_resources[StageUtil.GetPaintTypeIndex(ele)] == null) { return; } GameObject newObj = GameObject.Instantiate(_resources[StageUtil.GetPaintTypeIndex(ele)]) as GameObject; newObj.transform.position = StageUtil.GetElementWorldPos(ele, x, z); newObj.transform.SetParent(stageRoot.transform); list.Add(newObj); }