Example #1
0
        public Link(Vector2 pos)
        {
            // ToDo: move to an appropriate place in this constructor
            AddComponent(new LinkLevelBehavior());

            this.name = "Link";

            // don't do any logic here, just add Components that do the logic
            Transform transform = GetComponent <Transform>();

            transform.position = pos;

            BasicSprite imageSprite = LinkSpriteFactory.Instance.CreateLinkWalkingUp();
            Sprite      sprite      = new Sprite(imageSprite);

            sprite.SetAnimate(false);
            AddComponent(sprite);


            var wideLink = new WideLink();

            transform.AddChild(wideLink);
            var sword = new Sword();

            transform.AddChild(sword);
            BehaviorScript script = new LinkBehavior(sword, wideLink);

            AddComponent(script);

            BehaviorScript inventory = new LinkInventory();

            AddComponent(inventory);

            BehaviorScript healthManagement = new LinkHealthManagement();

            AddComponent(healthManagement);

            Collider coll = new Collider(new RectangleF(6, 38, 30, 24));

            AddComponent(coll);
            coll.response = new LinkCollisionResponse(this);

            Constants.SetLayerDepth(this, Constants.LayerDepth.Player);

            BehaviorScript xp = new LinkXPManager();

            AddComponent(xp);

            //transform.AddChild(new TransformTest());
        }
Example #2
0
 public LinkBehavior(Sword sword, WideLink wideLink)
 {
     linkDirection = Constants.Direction.UP;
     this.sword    = sword;
     this.wideLink = wideLink;
 }