public override void OnAddedToEntity() { base.OnAddedToEntity(); wing = Entity.GetComponent <Wing>(); mind = wing.mind; mind.inspected = true; // enable trace debug }
/// <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); }
/// <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); }
/// <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); }
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 }
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 }
public VisionSystem(DuckMind mind, float refresh, CancellationToken cancelToken) : base(mind, refresh, cancelToken) { }
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; }
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; }
public PlanExecutor(DuckMind mind) { this.mind = mind; }
public AvoidEntity(DuckMind mind, Entity nt, float approachRange = RANGE_DIRECT, float before = 0) : base(mind, nt, Approach.Precise, approachRange, before) { }
public Wing(DuckMind mind) : base(Core.Content.LoadTexture("Data/sprites/ship.png"), 64, 64) { this.mind = mind; }
public static void readWingMemory(this IPersistableReader r, DuckMind mind) { throw new NotImplementedException(); }
public static void writeWingMemory(this IPersistableWriter w, DuckMind mind) { throw new NotImplementedException(); }