• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript Entity.is函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中entity/Entity.is函数的典型用法代码示例。如果您正苦于以下问题:TypeScript is函数的具体用法?TypeScript is怎么用?TypeScript is使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了is函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1:

	.setHandler((action, entity) => {
		// resurrect corpses
		if (action.isArgumentType(entity, 0, ActionArgument.Corpse)) {
			if (ResurrectCorpse(action.executor, entity)) {
				action.setUpdateRender();
			}

			return;
		}

		const health = entity.getStat<IStatMax>(Stat.Health);
		const stamina = entity.getStat<IStatMax>(Stat.Stamina);
		const hunger = entity.getStat<IStatMax>(Stat.Hunger);
		const thirst = entity.getStat<IStatMax>(Stat.Thirst);

		entity.setStat(health, Entity.is(entity, EntityType.Player) ? entity.getMaxHealth() : health.max);
		if (stamina) entity.setStat(stamina, stamina.max);
		if (hunger) entity.setStat(hunger, hunger.max);
		if (thirst) entity.setStat(thirst, thirst.max);

		entity.setStatus(StatusType.Bleeding, false, StatusEffectChangeReason.Passed);
		entity.setStatus(StatusType.Burned, false, StatusEffectChangeReason.Passed);
		entity.setStatus(StatusType.Poisoned, false, StatusEffectChangeReason.Passed);

		if (Entity.is(entity, EntityType.Player)) {
			entity.state = PlayerState.None;
			entity.updateStatsAndAttributes();
		}

		action.setUpdateRender();
		Actions.DEBUG_TOOLS.updateFog();
		newui.getScreen<GameScreen>(ScreenId.Game)!.onGameTickEnd();
	});
开发者ID:WaywardGame,项目名称:developertools,代码行数:33,代码来源:Heal.ts


示例2: function

/**
 * Clones an entity to another position. Given a player, clones a matching NPC.
 */
export default function (entity: ICreature | INPC | IPlayer, position: IVector3) {
	let clone: ICreature | INPC | IPlayer;

	if (Entity.is(entity, EntityType.Creature)) {
		clone = creatureManager.spawn(entity.type, position.x, position.y, position.z, true, entity.aberrant)!;

		if (entity.isTamed()) clone.tame(entity.getOwner()!);
		clone.renamed = entity.renamed;
		clone.ai = entity.ai;
		clone.enemy = entity.enemy;
		clone.enemyAttempts = entity.enemyAttempts;
		clone.enemyIsPlayer = entity.enemyIsPlayer;

	} else {
		clone = npcManager.spawn(NPCType.Merchant, position.x, position.y, position.z)!;
		clone.customization = { ...entity.customization };
		clone.renamed = entity.getName().getString();
		CloneInventory(entity, clone);
	}

	clone.direction = new Vector2(entity.direction).raw();
	clone.facingDirection = entity.facingDirection;

	CopyStats(entity, clone);

	if (Entity.is(clone, EntityType.NPC)) {
		clone.ai = AiType.Neutral;
	}
}
开发者ID:WaywardGame,项目名称:developertools,代码行数:32,代码来源:CloneEntity.ts


示例3: GetPosition

	.setHandler((action, entity, position?: IVector3) => {

		position = GetPosition(action.executor, position!, () => translation(DebugToolsTranslation.ActionTeleport)
			.get(entity!.getName()));

		if (!entity || !position) return;

		if (Entity.is(entity, EntityType.Creature)) {
			const tile = game.getTile(entity.x, entity.y, entity.z);
			delete tile.creature;
		}

		if (Entity.is(entity, EntityType.NPC)) {
			const tile = game.getTile(entity.x, entity.y, entity.z);
			delete tile.npc;
		}

		if (Entity.is(entity, EntityType.Player)) {
			entity.setPosition(position);

		} else {
			entity.x = entity.fromX = position.x;
			entity.y = entity.fromY = position.y;
			entity.z = position.z;
		}

		if (Entity.is(entity, EntityType.Creature)) {
			const tile = game.getTile(entity.x, entity.y, entity.z);
			tile.creature = entity;
		}

		if (Entity.is(entity, EntityType.NPC)) {
			const tile = game.getTile(entity.x, entity.y, entity.z);
			tile.npc = entity;
		}

		if (entity === localPlayer) {
			newui.getScreen<GameScreen>(ScreenId.Game)!.movementHandler.walkToTileHandler.reset();
		}

		action.setUpdateView(true);
	});
开发者ID:WaywardGame,项目名称:developertools,代码行数:42,代码来源:TeleportEntity.ts


示例4:

	.setHandler((action, target, item, quality) => {
		if (target instanceof Player) {
			target.createItemInInventory(item, quality);

			if (Entity.is(target, EntityType.Player)) {
				target.updateTablesAndWeight();
			}

		} else {
			itemManager.create(item, target as IContainer, quality);
			action.setUpdateView();
		}

		if (InspectDialog.INSTANCE) InspectDialog.INSTANCE.update();
	});
开发者ID:WaywardGame,项目名称:developertools,代码行数:15,代码来源:AddItemToInventory.ts


示例5: update

	public update(entity: ICreature | INPC | IPlayer) {
		if (this.player === entity) return;

		this.player = Entity.is(entity, EntityType.Player) ? entity : undefined;
		this.toggle(!!this.player);

		if (!this.player) return;

		this.emit("change");

		this.refresh();

		this.until([ComponentEvent.Remove, "change"])
			.bind(this.DEBUG_TOOLS, DebugToolsEvent.PlayerDataChange, this.refresh);
	}
开发者ID:WaywardGame,项目名称:developertools,代码行数:15,代码来源:Player.ts


示例6: function

export default function (action: IActionApi<IPlayer>, item: IItem) {
	const container = item!.containedWithin;
	itemManager.remove(item!);

	if (container) {
		if ("data" in container) {
			action.setUpdateView(); // we removed the item from a tile

		} else if ("entityType" in container) {
			const entity = container as IEntity;
			if (Entity.is(entity, EntityType.Player)) {
				entity.updateTablesAndWeight();
			}
		}
	}

	if (InspectDialog.INSTANCE) InspectDialog.INSTANCE.update();
}
开发者ID:WaywardGame,项目名称:developertools,代码行数:18,代码来源:RemoveItem.ts


示例7: update

	public update(entity: ICreature | IPlayer | INPC) {
		this.npc = Entity.is(entity, EntityType.NPC) ? entity : undefined;
		this.toggle(!!this.npc);
	}
开发者ID:WaywardGame,项目名称:developertools,代码行数:4,代码来源:Npc.ts


示例8: update

	public update(entity: ICreature | INPC | IPlayer) {
		this.creature = Entity.is(entity, EntityType.Creature) ? entity : undefined;
		this.toggle(!!this.creature);
	}
开发者ID:WaywardGame,项目名称:developertools,代码行数:4,代码来源:Creature.ts



注:本文中的entity/Entity.is函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript env-read.EnvironmentConfig类代码示例发布时间:2022-05-25
下一篇:
TypeScript entcore.ui.breakpoints类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap