Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }