public void InitializeTowerUINetworkController(TowerEntityController _towerEntityController) { //Update all attributes of this UI UpdateTowerUINetController(_towerEntityController); networkObject.SendRpc(RPC_UPDATE_TOWER_U_I_NET_CONTROLLER_ON_NETWORK, Receivers.AllBuffered, networkObject.TowerEntityNetID); //Destroy this object when the Tower is destroyed _towerEntityController.networkObject.onDestroy += NetworkObject_onDestroy; }
/// <summary> /// Notify the tower entity to change it's state. /// </summary> /// <param name="_towerEntityController"></param> /// <param name="_winner"></param> /// <param name="_actionName"></param> protected void NotifyChangeInTower(TowerEntityController _towerEntityController, string _winner, string _actionName) { if (!ReferenceEquals(_towerEntityController, null) && !ReferenceEquals(_winner, null) && !ReferenceEquals(_actionName, null)) { _towerEntityController.ChangeTowerEntityStatus(_winner, _actionName); } else { Debug.LogWarning("Winner faction or tower entity are null"); } }
private void UpdateTowerCaptureControllerAttributes(TowerEntityController _towerEntityController) { if (!ReferenceEquals(_towerEntityController, null)) { networkObject.TowerEntityNetId = _towerEntityController.networkObject.NetworkId; TowerEntityController = _towerEntityController; _towerEntityController.TowerCaptureController = this; transform.SetParent(TowerEntityController.transform); } else { Debug.LogWarning("Tower entity controller null"); } }
public void InitTowerCaptureController(TowerEntityController _towerEntityController) { if (!ReferenceEquals(_towerEntityController, null)) { UpdateTowerCaptureControllerAttributes(_towerEntityController); //Destroy this object when the Tower is destroyed _towerEntityController.networkObject.onDestroy += NetworkObject_onDestroy; networkObject.SendRpc(RPC_UPDATE_CAPTURE_CONTROLLER_ON_NETWORK, Receivers.AllBuffered); } else { Debug.LogWarning("Can't use a null tower entity controller for initializations"); } }
private void UpdateTowerUINetController(TowerEntityController _towerEntityController) { _towerEntityController.TowerUINetworkController = this; TowerEntityController = _towerEntityController; networkObject.TowerEntityNetID = TowerEntityController.networkObject.NetworkId; var towerEntityTransf = _towerEntityController.GetComponent <Transform>(); GameEntityRegister = _towerEntityController.GameEntityRegister; transform.SetParent(towerEntityTransf); // Set Tower UI only for non owner process (client of the player) if (!isServerProcess && !networkObject.IsOwner) { TowerUIInstantiated.gameObject.transform.SetParent(this.gameObject.transform); //Deactivates the EventSystem var eventSystem = TowerUIInstantiated.GetComponentInChildren <EventSystem>(); eventSystem.gameObject.SetActive(false); //set the towerEntity as the parent of tower effect InstantiatedTowerEffect.transform.SetParent(TowerEntityController.transform); InstantiatedTowerEffect.transform.localPosition = Vector3.zero; } }