void SyncUI(UIEngineValueEntity _ui) { for (int i = 0; i < allValues.Count; i++) { //_ui.SyncEngineValue(allValues[i]); } }
protected virtual void SyncItemUI() { if (!Data.syncValuesToUI) { return; } if (Data.layoutMaster) { UIEngineValueEntity itemUI = null; if (Data.itemSyncType == LayoutSync.UISyncType.SpawnedUI) { itemUI = ui; } else if (Data.itemSyncType == LayoutSync.UISyncType.EntityRootOwnerUI) { var root = transform.root.GetComponentInChildren <EngineEntity>(); itemUI = root.UI; } if (itemUI) { ammoClipAmountChangedUI = itemUI.GetEngineValueUI(Data.layoutMaster, Data.ammoClipAmountSync.syncSelection.indexValue); clipAmountChanged += ammoClipAmountChangedUI.SetCurValue; OnClipAmountChanged(); ammoClipIndexChangedUI = itemUI.GetEngineValueUI(Data.layoutMaster, Data.ammoIndSync.syncSelection.indexValue); clipIndexChanged += ammoClipIndexChangedUI.SetCurValue; OnClipIndexChanged(); ammoReloadUI = itemUI.GetEngineValueUI(Data.layoutMaster, Data.reloadSync.syncSelection.indexValue); reloadingTime += ammoReloadUI.SetCurValue; ammoReloadUI.SetMinMaxValue(0, Data.reloadTime); OnReloading(); } } }
//override entity UI by component public void InitializeUI(UIEngineValueEntity _ui) { SyncUI(_ui); }
protected virtual void SpawnUI() { if (ui) { Destroy(ui.gameObject); } if (spawnUI != SpawnUIOptions.None) { if (spawnUI == SpawnUIOptions.FromData) { var root = transform.root.GetComponentInChildren <EngineEntity>(); if (curData.spawnUI) { ui = GameObject.Instantiate(data.UIToSpawn); if (curData.childOptions == EngineEntityData.UIChildOptionsType.EntityWorldSpace) { ui.transform.SetParent(transform); } else if (curData.childOptions == EngineEntityData.UIChildOptionsType.EntityRootUI) { ui.transform.SetParent(root.ui.transform, false); } } if (curData.syncValuesToUI) { if (curData.entitySyncType == LayoutSync.UISyncType.SpawnedUI) { syncedUI = ui; } else if (curData.entitySyncType == LayoutSync.UISyncType.EntityRootOwnerUI) { syncedUI = root.UI; } if (syncedUI) { for (int i = 0; i < curData.entityLayoutSyncs.Length; i++) { var syncs = curData.entityLayoutSyncs[i].syncSelections; var layoutMaster = curData.entityLayoutSyncs[i].layoutMaster; for (int ind = 0; ind < syncs.Length; ind++) { var sync = syncs[ind]; var valSel = curData.engineValueSelections[sync.valueInd]; var masSel = sync.masterInd; var engVal = engineValueContainer.GetEngineValue(valSel.valueSelection.valueData.ID); if (engVal != null) { syncedUI.SyncEngineValue(engVal, layoutMaster, masSel); } } } } } } else if (spawnUI == SpawnUIOptions.Override) { if (UIToSpawn) { //spawn ui ui = Instantiate(UIToSpawn).GetComponent <UIEngineValueEntity>(); if (parentUIToUnit) { ui.transform.position = transform.position; ui.transform.rotation = transform.rotation; ui.transform.SetParent(transform); } } } //set avatar if (ui) { engineValueContainer.InitializeUI(ui); if (curData.avatarIcon) { ui.SetAvatarIcon(curData.avatarIcon); } } } }
public virtual void OnEnable() { source = (UIEngineValueEntity)target; sourceRef = serializedObject; GetProperties(); }