Beispiel #1
0
        protected override void _SetAbility(Entity.AbilitySet abilitys)
        {
            _MoverAbility = new ActorMoverAbility(_Property.Direction, _Property.Position.X, _Property.Position.Y);
            _MoverAbility.ActionEvent += _OnAction;
            _MoverAbility.PositionEvent += _OnPosition;

            abilitys.AttechAbility<IMoverAbility>(_MoverAbility);

            _QuadTreeObjectAbility = new PhysicalAbility(new Regulus.Types.Rect(_Property.Position.X - _BodyWidth / 2, _Property.Position.Y - _BodyHeight / 2, _BodyWidth, _BodyHeight), this);
            abilitys.AttechAbility<PhysicalAbility>(_QuadTreeObjectAbility);
        }
Beispiel #2
0
        protected override void _SetAbility(Entity.AbilitySet abilitys)
        {
            _ObservedAbility = new PlayerObservedAbility(this, _DBActorInfomation);
            abilitys.AttechAbility<IObservedAbility>(_ObservedAbility);

            _ObserveAbility = new PlayerObserveAbility( _DBActorInfomation);
            abilitys.AttechAbility<IObserveAbility>(_ObserveAbility);

            _CrossAbility = new CrossAbility();
            abilitys.AttechAbility<ICrossAbility>(_CrossAbility);

            _CrossAbility.MoveEvent += _CrossAbility_MoveEvent;

            base._SetAbility(abilitys);
        }
Beispiel #3
0
 protected override void _SetAbility(Entity.AbilitySet abilitys)
 {
     abilitys.AttechAbility<PhysicalAbility>(_QuadTreeObjectAbility);
     abilitys.AttechAbility<IMoverAbility>(this);
 }
Beispiel #4
0
 /// <summary>
 /// 設定功能
 /// </summary>
 /// <param name="abilitys">現有功能Dict</param>
 protected override void _SetAbility(Entity.AbilitySet abilitys)
 {
     abilitys.AttechAbility<IObserveAbility>(this);
 }
Beispiel #5
0
        /// <summary>
        /// 設定功能
        /// </summary>
        /// <param name="abilitys">現有功能Dict</param>
        protected override void _SetAbility(Entity.AbilitySet abilitys)
        {
            _ObservedAbility = new PlayerObservedAbility(this, _DBActorInfomation);
            abilitys.AttechAbility<IObservedAbility>(_ObservedAbility);

            _ObserveAbility = new PlayerObserveAbility( _DBActorInfomation);
            abilitys.AttechAbility<IObserveAbility>(_ObserveAbility);

            _CrossAbility = new CrossAbility();
            abilitys.AttechAbility<ICrossAbility>(_CrossAbility);

            if(_DBActorInfomation.Property.Identity == Serializable.EntityPropertyInfomation.IDENTITY.CONVERSATION)
            {
                _TeacherAbility = new Session.StuffTeacher(this);
                abilitys.AttechAbility<Session.StuffTeacher>(_TeacherAbility);
            }

            _StudentAbility = new Session.StuffStudent(this);
            abilitys.AttechAbility<Session.StuffStudent>(_StudentAbility);

            base._SetAbility(abilitys);
        }
Beispiel #6
0
        /// <summary>
        /// 設定功能
        /// </summary>
        /// <param name="abilitys">現有功能Dict</param>
        protected override void _SetAbility(Entity.AbilitySet abilitys)
        {
            _MoverAbility = new ActorMoverAbility2(_Property.Direction, _Property.Position.X, _Property.Position.Y);
            _MoverAbility.ActionEvent += _OnAction;
            _MoverAbility.PositionEvent += _OnPosition;

            abilitys.AttechAbility<IMoverAbility>(_MoverAbility);

            _QuadTreeObjectAbility = new PhysicalAbility(new Regulus.CustomType.Rect(_Property.Position.X - _BodyWidth / 2, _Property.Position.Y - _BodyHeight / 2, _BodyWidth, _BodyHeight), this);
            abilitys.AttechAbility<PhysicalAbility>(_QuadTreeObjectAbility);
            abilitys.AttechAbility<IBehaviorAbility>(_Behavior);
            abilitys.AttechAbility<IBehaviorCommandAbility>(_Behavior);

            abilitys.AttechAbility<IActorPropertyAbility>(_PropertyAbility);
            abilitys.AttechAbility<IActorUpdateAbility>(_PropertyAbility);
            abilitys.AttechAbility<ISkillCaptureAbility>(_PropertyAbility);
        }