本文整理汇总了C#中DwarfCorp.Voxel类的典型用法代码示例。如果您正苦于以下问题:C# Voxel类的具体用法?C# Voxel怎么用?C# Voxel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Voxel类属于DwarfCorp命名空间,在下文中一共展示了Voxel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: Flag
public Flag(Vector3 position)
: base("Flag", PlayState.ComponentManager.RootComponent, Matrix.CreateTranslation(position), new Vector3(1.0f, 1.0f, 1.0f), Vector3.Zero)
{
SpriteSheet spriteSheet = new SpriteSheet(ContentPaths.Entities.Furniture.interior_furniture);
List<Point> frames = new List<Point>
{
new Point(0, 2),
new Point(1, 2),
new Point(2, 2)
};
Animation lampAnimation = new Animation(GameState.Game.GraphicsDevice, new SpriteSheet(ContentPaths.Entities.Furniture.interior_furniture), "Flag", 32, 32, frames, true, Color.White, 5.0f + MathFunctions.Rand(), 1f, 1.0f, false);
Sprite sprite = new Sprite(PlayState.ComponentManager, "sprite", this, Matrix.Identity, spriteSheet, false)
{
OrientationType = Sprite.OrientMode.YAxis
};
sprite.AddAnimation(lampAnimation);
Voxel voxelUnder = new Voxel();
if (PlayState.ChunkManager.ChunkData.GetFirstVoxelUnder(position, ref voxelUnder))
{
VoxelListener listener = new VoxelListener(PlayState.ComponentManager, this, PlayState.ChunkManager, voxelUnder);
}
lampAnimation.Play();
Tags.Add("Flag");
CollisionType = CollisionManager.CollisionType.Static;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:30,代码来源:Flag.cs
示例2: BuildVoxelTask
public BuildVoxelTask(Voxel voxel, VoxelType type)
{
Name = "Put voxel of type: " + type.Name + " on voxel " + voxel.Position;
Voxel = voxel;
VoxType = type;
Priority = PriorityType.Low;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:7,代码来源:BuildVoxelTask.cs
示例3: CraftItemAct
public CraftItemAct(CreatureAI creature, Voxel voxel, string type)
: base(creature)
{
ItemType = type;
Voxel = voxel;
Name = "Build craft item";
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:7,代码来源:CraftItemAct.cs
示例4: CraftItemTask
public CraftItemTask(Voxel voxel, string type)
{
Name = "Craft item " + voxel.GridPosition + " " + voxel.ChunkID.X + " " + voxel.ChunkID.Y + " " + voxel.ChunkID.Z;
Voxel = voxel;
CraftType = type;
Priority = PriorityType.Low;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:7,代码来源:CraftItemTask.cs
示例5: PlaceVoxelAct
public PlaceVoxelAct(Voxel voxel, CreatureAI agent, ResourceAmount resource)
: base(agent)
{
Agent = agent;
Voxel = voxel;
Name = "Build Voxel " + voxel.ToString();
Resource = resource;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:8,代码来源:PlaceVoxelAct.cs
示例6: VoxelListener
public VoxelListener(ComponentManager manager, GameComponent parent, ChunkManager chunkManager, Voxel vref)
: base("VoxelListener", parent)
{
Chunk = vref.Chunk;
VoxelID = new Point3(vref.GridPosition);
Chunk.OnVoxelDestroyed += VoxelListener_OnVoxelDestroyed;
ChunkID = Chunk.ID;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:8,代码来源:VoxelListener.cs
示例7: CreateCraftItemAct
public CreateCraftItemAct(Voxel voxel, CreatureAI agent, string itemType)
: base(agent)
{
Agent = agent;
Voxel = voxel;
Name = "Create craft item";
ItemType = itemType;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:8,代码来源:CreateCraftItemAct.cs
示例8: Tinter
public Tinter(string name, GameComponent parent, Matrix localTransform, Vector3 boundingBoxExtents, Vector3 boundingBoxPos, bool collisionManager)
: base(name, parent, localTransform, boundingBoxExtents, boundingBoxPos, collisionManager)
{
LightsWithVoxels = true;
Tint = new Color(255, 255, 0);
LightingTimer = new Timer(0.2f, true);
StartTimer = new Timer(0.5f, true);
TargetTint = Tint;
TintChangeRate = 1.0f;
LightsWithVoxels = true;
VoxelUnder = new Voxel();
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:12,代码来源:Tinter.cs
示例9: GetDistance
public static float GetDistance(Voxel a, Voxel b, Creature.MoveType action, ChunkManager chunks)
{
if(!b.IsEmpty)
{
return 100000;
}
else
{
float score = (a.Position - b.Position).LengthSquared() * ActionCost(action);
return score;
}
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:13,代码来源:AStarPlanner.cs
示例10: FindPath
public static List<Creature.MoveAction> FindPath(CreatureMovement mover, Voxel start, GoalRegion goal, ChunkManager chunks, int maxExpansions)
{
List<Creature.MoveAction> p = new List<Creature.MoveAction>();
bool success = Path(mover, start, goal, chunks, maxExpansions, ref p, false);
if(success)
{
return p;
}
else
{
return null;
}
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:14,代码来源:AStarPlanner.cs
示例11: GuardVoxelAct
public GuardVoxelAct(CreatureAI agent, Voxel voxel)
: base(agent)
{
Voxel = voxel;
Name = "Guard Voxel " + voxel;
Tree = new Sequence
(
new GoToVoxelAct(voxel, PlanAct.PlanType.Adjacent, agent),
new StopAct(Agent),
new WhileLoop(new WanderAct(Agent, 1.0f, 0.5f, 0.1f), new Condition(LoopCondition)),
new Condition(ExitCondition)
);
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:14,代码来源:GuardVoxelAct.cs
示例12: GoToVoxelAct
public GoToVoxelAct(Voxel voxel, PlanAct.PlanType planType, CreatureAI creature, float radius = 0.0f)
: base(creature)
{
Voxel = voxel;
Name = "Go to Voxel";
if(Voxel != null)
{
Tree = new Sequence(
new SetBlackboardData<Voxel>(Agent, "TargetVoxel", Voxel),
new PlanAct(Agent, "PathToVoxel", "TargetVoxel", planType) { Radius = radius},
new FollowPathAnimationAct(Agent, "PathToVoxel"),
new StopAct(Agent));
}
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:14,代码来源:GoToVoxelAct.cs
示例13: Tree
public Tree(Vector3 position, string asset, float treeSize)
: base("Tree", PlayState.ComponentManager.RootComponent, Matrix.Identity, new Vector3(treeSize * 2, treeSize * 3, treeSize * 2), new Vector3(treeSize * 0.5f, treeSize * 0.25f, treeSize * 0.5f))
{
HurtTimer = new Timer(1.0f, false);
ComponentManager componentManager = PlayState.ComponentManager;
Matrix matrix = Matrix.Identity;
matrix.Translation = position;
LocalTransform = matrix;
new Mesh(componentManager, "Model", this, Matrix.CreateRotationY((float)(PlayState.Random.NextDouble() * Math.PI)) * Matrix.CreateScale(treeSize, treeSize, treeSize) * Matrix.CreateTranslation(new Vector3(0.7f, 0.0f, 0.7f)), asset, false);
Health health = new Health(componentManager, "HP", this, 100.0f * treeSize, 0.0f, 100.0f * treeSize);
new Flammable(componentManager, "Flames", this, health);
Tags.Add("Vegetation");
Tags.Add("EmitsWood");
new MinimapIcon(this, new ImageFrame(TextureManager.GetTexture(ContentPaths.GUI.map_icons), 16, 1, 0));
Voxel voxelUnder = new Voxel();
if (PlayState.ChunkManager.ChunkData.GetFirstVoxelUnder(position, ref voxelUnder))
{
new VoxelListener(componentManager, this, PlayState.ChunkManager, voxelUnder);
}
Inventory inventory = new Inventory("Inventory", this)
{
Resources = new ResourceContainer
{
MaxResources = (int)(treeSize * 10)
}
};
inventory.Resources.AddResource(new ResourceAmount()
{
NumResources = (int)(treeSize * 10),
ResourceType = ResourceLibrary.Resources[ResourceLibrary.ResourceType.Wood]
});
Particles = new ParticleTrigger("Leaves", componentManager, "LeafEmitter", this,
Matrix.Identity, new Vector3(treeSize * 2, treeSize * 3, treeSize * 2), new Vector3(treeSize * 0.5f, treeSize * 0.25f, treeSize * 0.5f))
{
SoundToPlay = ContentPaths.Audio.vegetation_break
};
AddToCollisionManager = true;
CollisionType = CollisionManager.CollisionType.Static;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:49,代码来源:Tree.cs
示例14: Bed
public Bed(Vector3 position)
: base("Bed", PlayState.ComponentManager.RootComponent, Matrix.CreateTranslation(position), new Vector3(1.5f, 0.5f, 0.75f), new Vector3(-0.5f + 1.5f * 0.5f, -0.5f + 0.25f, -0.5f + 0.75f * 0.5f))
{
Texture2D spriteSheet = TextureManager.GetTexture(ContentPaths.Entities.Furniture.bedtex);
bedModel = new Box(PlayState.ComponentManager, "bedbox", this, Matrix.CreateTranslation(-0.5f, -0.5f, -0.5f) * Matrix.CreateRotationY((float)Math.PI * 0.5f), new Vector3(1.0f, 1.0f, 2.0f), new Vector3(0.5f, 0.5f, 1.0f), PrimitiveLibrary.BoxPrimitives["bed"], spriteSheet);
Voxel voxelUnder = new Voxel();
if (PlayState.ChunkManager.ChunkData.GetFirstVoxelUnder(position, ref voxelUnder))
{
VoxelListener listener = new VoxelListener(PlayState.ComponentManager, this, PlayState.ChunkManager, voxelUnder);
}
Tags.Add("Bed");
CollisionType = CollisionManager.CollisionType.Static;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:16,代码来源:Bed.cs
示例15: KillVoxelAct
public KillVoxelAct(Voxel voxel, CreatureAI creature)
: base(creature)
{
Voxel = voxel;
Name = "Kill Voxel " + voxel.Position;
Tree = new Sequence(
new SetBlackboardData<Voxel>(creature, "DigVoxel", voxel),
new Sequence(
new Wrap(() => IncrementAssignment(creature, "DigVoxel", 1)),
new GoToVoxelAct(voxel, PlanAct.PlanType.Adjacent, creature),
new Wrap(() => CheckIsDigDesignation(creature, "DigVoxel")),
new DigAct(Agent, "DigVoxel"),
new ClearBlackboardData(creature, "DigVoxel")
)
| new Wrap(() => IncrementAssignment(creature, "DigVoxel", -1)) & false);
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:16,代码来源:KillVoxelAct.cs
示例16: Run
public override IEnumerable<Status> Run()
{
Body target = Creature.AI.Blackboard.GetData<Body>(EntityName);
if (target == null)
{
yield return Status.Fail;
}
else
{
Voxel voxel = new Voxel();
if(!Creature.Chunks.ChunkData.GetFirstVoxelUnder(target.BoundingBox.Center(), ref voxel, true))
{
yield return Status.Fail;
}
else
{
Agent.Blackboard.SetData(VoxelOutName, voxel);
yield return Status.Success;
}
}
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:22,代码来源:SetTargetVoxelFromEntityAct.cs
示例17: Forge
public Forge(Vector3 position)
: base("Forge", PlayState.ComponentManager.RootComponent, Matrix.CreateTranslation(position), new Vector3(1.0f, 1.0f, 1.0f), Vector3.Zero)
{
SpriteSheet spriteSheet = new SpriteSheet(ContentPaths.Entities.Furniture.interior_furniture);
List<Point> frames = new List<Point>
{
new Point(1, 3),
new Point(3, 3),
new Point(2, 3),
new Point(3, 3)
};
Animation lampAnimation = new Animation(GameState.Game.GraphicsDevice, new SpriteSheet(ContentPaths.Entities.Furniture.interior_furniture), "Forge", 32, 32, frames, true, Color.White, 3.0f, 1f, 1.0f, false);
Sprite sprite = new Sprite(PlayState.ComponentManager, "sprite", this, Matrix.Identity, spriteSheet, false)
{
LightsWithVoxels = false
};
sprite.AddAnimation(lampAnimation);
lampAnimation.Play();
Tags.Add("Forge");
Voxel voxelUnder = new Voxel();
if (PlayState.ChunkManager.ChunkData.GetFirstVoxelUnder(position, ref voxelUnder))
{
new VoxelListener(PlayState.ComponentManager, this, PlayState.ChunkManager, voxelUnder);
}
new LightEmitter("light", this, Matrix.Identity, new Vector3(0.1f, 0.1f, 0.1f), Vector3.Zero, 50, 4)
{
HasMoved = true
};
CollisionType = CollisionManager.CollisionType.Static;
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:36,代码来源:Forge.cs
示例18: HandleTransfers
public void HandleTransfers(DwarfTime time)
{
Voxel atPos = new Voxel();
while(Transfers.Count > 0)
{
Transfer transfer;
if(!Transfers.TryDequeue(out transfer))
{
break;
}
if(transfer.cellFrom.Type == LiquidType.Lava && transfer.cellTo.Type == LiquidType.Water || (transfer.cellFrom.Type == LiquidType.Water && transfer.cellTo.Type == LiquidType.Lava))
{
bool success = Chunks.ChunkData.GetVoxel(transfer.worldLocation, ref atPos);
if(success)
{
Voxel v = atPos;
VoxelLibrary.PlaceType(VoxelLibrary.GetVoxelType("Stone"), v);
VoxelChunk chunk = Chunks.ChunkData.ChunkMap[v.ChunkID];
chunk.Data.Water[v.Index].Type = LiquidType.None;
chunk.Data.Water[v.Index].WaterLevel = 0;
chunk.ShouldRebuild = true;
chunk.ShouldRecalculateLighting = true;
}
}
}
}
开发者ID:scorvi,项目名称:dwarfcorp,代码行数:30,代码来源:WaterManager.cs
示例19: GetNeighborsEuclidean
public List<Voxel> GetNeighborsEuclidean(Voxel v)
{
Vector3 gridCoord = v.GridPosition;
return GetNeighborsEuclidean((int) gridCoord.X, (int) gridCoord.Y, (int) gridCoord.Z);
}
开发者ID:maroussil,项目名称:dwarfcorp,代码行数:5,代码来源:VoxelChunk.cs
示例20: BearTrap
public BearTrap(Vector3 pos)
: base("BearTrap", PlayState.ComponentManager.RootComponent, Matrix.CreateTranslation(pos),
new Vector3(1.0f, 1.0f, 1.0f), Vector3.Zero, true)
{
Allies = PlayState.PlayerFaction;
Sensor = new Sensor("Sensor", this, Matrix.Identity, new Vector3(0.5f, 0.5f, 0.5f), Vector3.Zero)
{
FireTimer = new Timer(0.5f, false)
};
Sensor.OnSensed += Sensor_OnSensed;
DeathTimer = new Timer(0.6f, true);
DeathParticles = new ParticleTrigger("puff", PlayState.ComponentManager, "DeathParticles", this,
Matrix.Identity, new Vector3(0.5f, 0.5f, 0.5f), Vector3.Zero)
{
SoundToPlay = ""
};
DamageAmount = 200;
Voxel voxUnder = new Voxel();
PlayState.ChunkManager.ChunkData.GetFirstVoxelUnder(pos, ref voxUnder);
VoxListener = new VoxelListener(PlayState.ComponentManager, this, PlayState.ChunkManager, voxUnder);
Sprite = new Sprite(PlayState.ComponentManager, "Sprite", this, Matrix.Identity, new SpriteSheet(ContentPaths.Entities.DwarfObjects.beartrap), false);
Sprite.AddAnimation(new Animation(0, ContentPaths.Entities.DwarfObjects.beartrap, 32, 32, 0) {Name = IdleAnimation});
Sprite.AddAnimation(new Animation(1, ContentPaths.Entities.DwarfObjects.beartrap, 32, 32, 0, 1, 2, 3) {Name = TriggerAnimation, Speeds = new List<float>() {6.6f}, Loops = true});
}
开发者ID:maroussil,项目名称:dwarfcorp,代码行数:25,代码来源:BearTrap.cs
注:本文中的DwarfCorp.Voxel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论