public void RegisterBasementInfoUI(BaseBasement basement) { var prefab = Resources.Load <GameObject>($"UI/{ConstData.UI_BasementInfoName}"); if (prefab != null) { var instance = Instantiate(prefab); instance.transform.parent = _canvas.transform; instance.transform.localScale = Vector3.one; instance.transform.localRotation = Quaternion.identity; var basementInfo = instance.GetComponent <UIBasementInfo>(); basementInfo.Init(basement); var objectInstanceId = basement.gameObject.GetInstanceID(); if (!_objectUIs.ContainsKey(objectInstanceId)) { _objectUIs.Add(objectInstanceId, new List <UIBaseComponent>()); } _objectUIs[objectInstanceId].Add(basementInfo); _autoUpdatingUI.Add(basementInfo); _autoPositioningUI.Add(basementInfo); } }
public void UpdateBasement(BaseBasement basement) { if (_basement != null) { GameObject.DestroyImmediate(_basement.gameObject); } _basement = basement; }
public TileData() { Pos = Vector3Int.zero; Team = BaseObject.TeamEnum.NONE; Tile = null; _unit = null; _basement = null; OnConstruction = false; }
public void AttachUnit(BaseBasement basement, BaseUnit unit) { var cellPos = WorldToCellPos(basement.transform.position); AttachUnit(cellPos, unit); }