public bool AddBuild(NWBuild _build) { if (_build != null) { if (builds.ContainsKey(_build.Id)) { Console.LogWarningFormat(ConsoleFilter.BuildController, "Added build Is Containce, id = {0}", _build.Id); RemoveBuild(_build); } Build build = null; Vector3 position = new Vector3(_build.trasform.position.X, _build.trasform.position.Y, _build.trasform.position.Z); string name = (_build.Type == BuildType.Base ? "base_" : "factory_") + _build.Id; if (Util.InstancePrefabAndGetMBScript <Build>(buildPrefabs[_build.Type], name, null, position, out build)) { build.SetInfo(_build); builds.Add(_build.Id, build); Console.LogFormat(ConsoleFilter.BuildController, "New build added and Instance, id = {0}", _build.Id); } else { Console.LogErrorFormat(ConsoleFilter.BuildController, "Can't instance build {0}", _build.Id); return(false); } if (!Util.ArrayIsNullOrEmpty(_build.TurretPlatforms)) { List <TurretPlatform> turretPlatforms = new List <TurretPlatform>(_build.TurretPlatforms.Length); int id = 0; foreach (NWTurretPlatform sTurretPlatform in _build.TurretPlatforms) { TurretPlatform turretPlatform = null; Vector3 turretPos = new Vector3(sTurretPlatform.Position.X, sTurretPlatform.Position.Y, sTurretPlatform.Position.Z); string turretName = string.Format("TurretPlatform_{0}_{1}", id, name); if (Util.InstancePrefabAndGetMBScript <TurretPlatform>(turretPlatformPrefab, turretName, null, turretPos, out turretPlatform)) { turretPlatform.SetIdTurret(id, sTurretPlatform.TurretId, sTurretPlatform.PlatformState); turretPlatforms.Add(turretPlatform); //build.SetInfo(_build); //builds.Add(_build.Id, build); Console.LogFormat(ConsoleFilter.BuildController, "New turret platform added and Instance, id = {0}", _build.Id); } else { Console.LogErrorFormat(ConsoleFilter.BuildController, "Can't instance turret platform {0}", _build.Id); //return false; } ++id; } build.SetTurretPlatforms(turretPlatforms.ToArray()); } return(true); } else { Console.LogError(ConsoleFilter.BuildController, "Added build Is Null"); } return(false); }
public bool RemoveBuild(NWBuild _build) { if (_build != null) { RemoveBuild(_build.Id); } else { Console.LogError(ConsoleFilter.BuildController, "Removed build Is Null"); } return(false); }
public bool UpdateBuild(NWBuild _build) { IBuild build = null; if (TryGetBuild(_build.Id, out build) && build != null) { build.UpdateInfo(_build); //build.transform.position = Util.ConvertRTSStructToVector3(serverBuild.trasform); return(true); } return(false); }
public void UpdateInfo(NWBuild _buildDescription) { Health = _buildDescription.Health; BuildTasks = _buildDescription.BuildTasks; if (HealthBar != null && HealthBar.gameObject.activeSelf) { HealthBar.SetValue = Health; } if (FactoryValue != null) { FactoryValue.gameObject.SetActive(_buildDescription.IsProduceResource); //FactoryValue.SetValue = _buildDescription.ProduceResourceValue; } }
public void SetInfo(NWBuild _buildDescription) { Id = _buildDescription.Id; UpdateInfo(_buildDescription); isSelect = false; UI3dCanvasObj canvas = FindObjectOfType(typeof(UI3dCanvasObj)) as UI3dCanvasObj; if (canvas == null) { Console.LogError(ConsoleFilter.Build, "Plate Canvas is null"); return; } if (canvas.ValueBar3dPrefab != null) { HealthBar = null; if (Util.InstancePrefabAndGetMBScript(canvas.ValueBar3dPrefab, "HealthBar_Build_" + Id, canvas.gameObject.transform, Vector3.zero, out HealthBar)) { HealthBar.trackTransform = transform; HealthBar.offset = new Vector3(0.0f, 5.0f, 0.0f); HealthBar.gameObject.SetActive(false); } } else { Console.LogError(ConsoleFilter.Build, "ValueBar3d Prefab is null"); } if (canvas.FactoryValuePrefab != null) { FactoryValue = null; Util.InstancePrefabAndGetMBScript(canvas.FactoryValuePrefab, "FactoryValue_Build_" + Id, canvas.gameObject.transform, Vector3.zero, out FactoryValue); { FactoryValue.trackTransform = transform; FactoryValue.offset = new Vector3(0.0f, 10.0f, 0.0f); FactoryValue.gameObject.SetActive(false); } } else { Console.LogError(ConsoleFilter.Build, "FactoryValue Prefab is null"); } }