Ejemplo n.º 1
0
        public override void OnAddedToEntity()
        {
            base.OnAddedToEntity();

            wing           = Entity.GetComponent <Wing>();
            mind           = wing.mind;
            mind.inspected = true; // enable trace debug
        }
Ejemplo n.º 2
0
        /// <summary>
        /// create a wing and add it to the list
        /// </summary>
        /// <param name="name"></param>
        /// <param name="pos"></param>
        /// <param name="mind"></param>
        /// <returns></returns>
        public Wing createWing(string name, Vector2 pos, DuckMind mind)
        {
            var wingNt = new Entity(name).SetTag(Constants.Tags.WING);
            var wing   = wingNt.AddComponent(new Wing(mind));

            wing.body.pos = pos;
            wings.Add(wing);
            return(wing);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// create an NPC (autonomous/ai-controlled) wing
        /// </summary>
        /// <param name="name"></param>
        /// <param name="pos"></param>
        /// <param name="ply"></param>
        /// <returns></returns>
        public Wing createNpcWing(string name, Vector2 pos, BirdPersonality ply)
        {
            var mind = new DuckMind(new AvianSoul {
                ply = ply
            }, true);
            var wing = createWing(name, pos, mind);

            wing.AddComponent <LogicInputController>();
            return(wing);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// instantiate the player wing and add components
        /// </summary>
        /// <param name="pos"></param>
        /// <returns></returns>
        public Wing createPlayer(Vector2 pos)
        {
            var playerSoul = new AvianSoul();

            playerSoul.ply = BirdPersonality.makeNeutral();
            var mind   = new DuckMind(playerSoul, false);
            var player = createWing(Constants.Game.PLAYER_NAME, pos, mind);

            player.AddComponent(new PlayerInputController(0));
            state.player = player; // save player
            return(player);
        }
Ejemplo n.º 5
0
        public override void runTwo(DuckMind me, DuckMind them)
        {
            var myTraits = new Traits(me.soul);

            var opinionDelta = 0;

            // being bumped annoys me
            var bumpedAnnoyance = (int)TraitCalc.transform(-myTraits.annoyed,
                                                           -20f, 0f);
            // fear exacerbates anger/annoyance
            var fearMultiplier = TraitCalc.transform(me.soul.emotions.fear,
                                                     -1f, 3f, 0f, 2f);

            opinionDelta += (int)(bumpedAnnoyance * fearMultiplier);

            me.state.addOpinion(them.state.me, opinionDelta);
            me.soul.emotions.spikeFear(0.4f); // somewhat scary
        }
Ejemplo n.º 6
0
        public override void runTwo(DuckMind me, DuckMind them)
        {
            var myTraits = new Traits(me.soul);

            var opinionDelta = 0;

            // we are angry, figure out how angry
            var beingShotAnger = (int)TraitCalc.transform(-myTraits.anger,
                                                          -40f, -5f, -40, 0f);
            // fear exacerbates anger/annoyance
            var fearMultiplier = TraitCalc.transform(me.soul.emotions.fear,
                                                     -1f, 3f, 0f, 2f);

            opinionDelta += (int)(beingShotAnger * fearMultiplier);

            me.state.addOpinion(them.state.me, opinionDelta);
            me.soul.emotions.spikeFear(1); // scary
        }
Ejemplo n.º 7
0
 public VisionSystem(DuckMind mind, float refresh, CancellationToken cancelToken) :
     base(mind, refresh, cancelToken)
 {
 }
Ejemplo n.º 8
0
 public FixedTarget(DuckMind mind, Vector2 pos, Approach approach = Approach.Precise, float approachRange = RANGE_DIRECT,
                    float before = 0) : base(mind, approach, approachRange, before)
 {
     this.pos = pos;
 }
Ejemplo n.º 9
0
 public EntityTarget(DuckMind mind, Entity nt, Approach approach = Approach.Precise, float approachRange = RANGE_DIRECT,
                     float before = 0) : base(mind, approach, approachRange, before)
 {
     this.nt = nt;
 }
Ejemplo n.º 10
0
 public PlanExecutor(DuckMind mind)
 {
     this.mind = mind;
 }
Ejemplo n.º 11
0
 public AvoidEntity(DuckMind mind, Entity nt, float approachRange = RANGE_DIRECT, float before = 0)
     : base(mind, nt, Approach.Precise, approachRange, before)
 {
 }
Ejemplo n.º 12
0
Archivo: Wing.cs Proyecto: xdrie/Sor
 public Wing(DuckMind mind) : base(Core.Content.LoadTexture("Data/sprites/ship.png"), 64, 64)
 {
     this.mind = mind;
 }
Ejemplo n.º 13
0
 public static void readWingMemory(this IPersistableReader r, DuckMind mind)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 14
0
 public static void writeWingMemory(this IPersistableWriter w, DuckMind mind)
 {
     throw new NotImplementedException();
 }