当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Entity.is函数代码示例

本文整理汇总了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;未经允许,请勿转载。