public void LocateWeaponVisualRootUnderMountPoint(NodeAddedEvent evt, TankGraphicsNode tank, [Context, JoinByTank] WeaponGraphicsNode weaponGraphics) { WeaponVisualRootComponent weaponVisualRoot = weaponGraphics.weaponVisualRoot; weaponVisualRoot.transform.parent = tank.tankVisualRoot.transform; Transform mountPoint = tank.mountPoint.MountPoint; GameObject obj2 = new GameObject("VisualMountPoint"); obj2.transform.SetParent(tank.tankVisualRoot.transform, false); obj2.transform.localPosition = mountPoint.localPosition; obj2.transform.localRotation = mountPoint.localRotation; VisualMountPointComponent component = new VisualMountPointComponent { MountPoint = obj2.transform }; tank.Entity.AddComponent(component); weaponVisualRoot.transform.SetParent(obj2.transform, false); weaponVisualRoot.transform.localPosition = Vector3.zero; weaponVisualRoot.transform.localRotation = Quaternion.identity; this.InitCharacterShadowSystem(tank.Entity, tank.tankVisualRoot.transform, weaponGraphics.weaponVisualRoot.transform); base.NewEvent <ContinueAssembleTankEvent>().Attach(tank).ScheduleDelayed(0.3f); }
public void ContinueAssebleTank(ContinueAssembleTankEvent e, TankGraphicsNode tank) { tank.Entity.AddComponent <AssembledTankInactiveStateComponent>(); }