public Traits(AvianSoul soul) { var tr = soul.traits; receptiveness = VectorTrait.trait2(vec_receptiveness, new[] { tr.loyalty, tr.aggression }); }
public Traits(AvianSoul soul) { var tr = soul.traits; annoyed = VectorTrait.trait2(vec_annoyed, new[] { tr.wary, tr.spontaneity }); }
public Traits(AvianSoul soul) { var tr = soul.traits; anger = VectorTrait.trait2(vec_anger, new[] { tr.wary, tr.aggression }); }
/// <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 Initialize() { base.Initialize(); ClearColor = gameContext.assets.bgColor; // show cursor Core.Instance.IsMouseVisible = true; // add fixed renderer var fixedRenderer = AddRenderer(new ScreenSpaceRenderer(1023, renderlayer_ui_overlay)); fixedRenderer.ShouldDebugRender = false; playerNt = CreateEntity(Constants.Game.PLAYER_NAME, new Vector2(400, 400)).SetTag(Constants.Tags.WING); var playerSoul = new AvianSoul(); playerSoul.ply = BirdPersonality.makeNeutral(); var playerWing = playerNt.AddComponent(new Wing(new DuckMind(playerSoul, false))); playerNt.AddComponent(new PlayerInputController(0)); // add our physicist physicistDuck = CreateEntity("physical", new Vector2(300f, 200f)).SetTag(Constants.Tags.WING); var physicistSoul = new AvianSoul { ply = new BirdPersonality { A = 0.8f, S = -0.4f } }; var duckWing = physicistDuck.AddComponent(new Wing(new DuckMind(physicistSoul, true))); physicistDuck.AddComponent <LogicInputController>(); physicistDuck.AddComponent(new MindDisplay(playerWing, true)); duckWing.core.energy = 1000f; duckWing.mind.state.addOpinion(playerWing, Constants.DuckMind.OPINION_FRIEND); // set the player as the target duckWing.mind.state.plan.Enqueue(new EntityTarget(duckWing.mind, playerWing.Entity, Approach.Within, TargetSource.RANGE_MED)); var wingInteractions = AddEntityProcessor(new WingUpdateSystem()); // add component to make Camera follow the player var followCamera = Camera.Entity.AddComponent(new LockedCamera(playerNt, Camera, LockedCamera.LockMode.Position)); followCamera.AddComponent <CameraShake>(); }
public DuckMind(AvianSoul soul, bool control) : base(new DuckMindState()) { this.control = control; this.soul = soul; useThreadPool = NGame.config.threadPoolAi; }