public void Init() { gameManager = GameManager.Instance; cameraControl = gameManager.CameraControl; gameObject.tag = "Unit"; gameObject.layer = LayerMask.NameToLayer("Units"); CapsuleCollider collision = gameObject.AddComponent <CapsuleCollider>(); collision.radius = 0.1f; collision.height = 1.8f; collision.center = new Vector3(0.0f, 1.0f, 0.0f); animator = GetComponent <Animator>(); unitMover = gameObject.AddComponent <UnitMover>(); unitMover.Init(); unitAttack = gameObject.AddComponent <UnitAttack>(); unitAttack.Init(); TeamName = teamName; hitPoint = maxHits; SkeletonConfig skeletonConfig = gameObject.AddComponent <SkeletonConfigCombot>(); if (skeletonConfig) { skeletonControl = skeletonConfig.Init(); } if (startAsPlayer) { gameManager.ActiveUnit = this; } if (addAI) { aiControl = gameObject.AddComponent <AIController>(); } InventoryObject.PlayerEntry playerData = gameManager.inventory.GetPlayerEntry(unitName); if (playerData == null) { Debug.Log("No PlayerData Found, Adding It"); playerData = new InventoryObject.PlayerEntry(); playerData.name = unitName; playerData.primaryWeapon = "AssaultRifle"; playerData.primaryMagazines = 2; gameManager.inventory.AddPlayerEntry(playerData); } AddWeapon(playerData.primaryWeapon, playerData.primaryMagazines); AddWeapon(playerData.secondaryWeapon, playerData.secondaryMagazines); }
private static int CalculateNumLines(CALayer layer, int maxLines, SkeletonConfig config) { var spacspaceRequitedForEachLine = config.MultilineHeight + config.MultilineSpacing; var numberOfSublayers = (int)Math.Round(layer.Bounds.Height / spacspaceRequitedForEachLine); if (maxLines != 0 && maxLines <= numberOfSublayers) { numberOfSublayers = maxLines; } return(numberOfSublayers); }
public static void AddMultilinesLayers(this CALayer This, int lines, SkeletonType type, SkeletonConfig config) { var numberOfSublayers = CalculateNumLines(This, lines, config); var width = This.Bounds.Width; for (var index = 0; index < numberOfSublayers; index++) { if (index == numberOfSublayers - 1 && numberOfSublayers != 1) { width = width * (config.MultilineLastLineFillPercent / 100f); } var layer = SkeletonLayerFactory.MakeMultilineLayer(type, index, width, config); This.AddSublayer(layer); } }