/// <summary> /// Unit initialization shared by both real units and their ghosts. /// </summary> /// <param name="freshUnit"></param> /// <param name="config"></param> private static void MakeUnitCommon(GameObject freshUnit, Unit armoryUnit) { freshUnit.name = armoryUnit.Name; freshUnit.SetActive(false); GameObject art = Object.Instantiate(armoryUnit.ArtPrefab); art.transform.parent = freshUnit.transform; DataComponent.CreateDataComponent( freshUnit, armoryUnit.Config, armoryUnit.MobilityData); // freshUnit.AddComponent<UnitDispatcher>().enabled = false; // freshUnit.AddComponent<MovementComponent>().enabled = false; // prototype.AddComponent<NetworkIdentity>(); TurretSystem turretSystem = freshUnit.GetComponent <TurretSystem>(); turretSystem.Initialize(freshUnit, armoryUnit); }