public static TargetClassType ToClassType(TargetType type) { TargetClassType ctype = type as TargetClassType; if (ctype != null) { return(ctype); } TargetObjectType otype = type as TargetObjectType; if (otype != null && otype.HasClassType) { ctype = otype.ClassType; if (ctype != null) { return(ctype); } } TargetArrayType atype = type as TargetArrayType; if (atype != null) { if (atype.Language.ArrayType != null) { return(atype.Language.ArrayType); } } throw new Exception(string.Format("Type `{0}' is not a struct or class.", type.Name)); }
private void UpdateActiveTarget(bool canPickup, bool canDrill) { GameObject targetObject = null; TargetObjectType objectType = TargetObjectType.None; if (canPickup || canDrill) { Targeting.GetTarget(seamoth.gameObject, 4.8f, out targetObject, out float num, null); } if (targetObject) { GameObject rootObject = UWE.Utils.GetEntityRoot(targetObject); rootObject = (!(rootObject != null)) ? targetObject : rootObject; if (rootObject.GetComponentProfiled <Pickupable>()) { targetObject = rootObject; objectType = TargetObjectType.Pickupable; } else if (rootObject.GetComponentProfiled <Drillable>()) { targetObject = rootObject; objectType = TargetObjectType.Drillable; } else { targetObject = null; } } activeTarget = targetObject; if (activeTarget && currentSelectedArm != SeamothArm.None) { if (canDrill && objectType == TargetObjectType.Drillable && GetSelectedArm().HasDrill()) { GUIHand component = Player.main.GetComponent <GUIHand>(); GUIHand.Send(activeTarget, HandTargetEventType.Hover, component); } else if (canPickup && objectType == TargetObjectType.Pickupable && GetSelectedArm().HasClaw()) { Pickupable pickupable = activeTarget.GetComponent <Pickupable>(); TechType techType = pickupable.GetTechType(); HandReticle.main.SetInteractText(LanguageCache.GetPickupText(techType), false, HandReticle.Hand.Left); HandReticle.main.SetIcon(HandReticle.IconType.Hand, 1f); } } }
private static object HydrateCompactObject(TargetObjectType type, JToken item) { try { if (item != null) { switch (type) { case TargetObjectType.Badge: return(Badge.ParseJson(item)); case TargetObjectType.Checkin: return(Checkin.ParseJson(item)); case TargetObjectType.Special: // VenueId, if null, must be parsed out of the // notification or else it will throw. FYI. return(CompactSpecial.ParseJson(item, null)); case TargetObjectType.Tip: return(Tip.ParseJson(item)); case TargetObjectType.Url: Uri uri = Json.TryGetUriProperty(item, "url"); return(uri); case TargetObjectType.User: return(CompactUser.ParseJson(item)); case TargetObjectType.Venue: return(CompactVenue.ParseJson(item)); default: break; } } } catch (Exception) { } return(null); }
private void WriteActivityLog(string activityText, ActivityLogType activityType, string targetId, TargetObjectType targetType) { var logData = new ActivityLog { UserId = User.Identity.GetUserId(), ActivityText = activityText, ActivityType = activityType.ToString(), TargetId = targetId, TargetType = targetType.ToString(), IPAddress = Request.UserHostAddress }; _activityStore.WriteActivityLog(logData); }
private static object HydrateCompactObject(TargetObjectType type, JToken item) { try { if (item != null) { switch (type) { case TargetObjectType.Badge: return Badge.ParseJson(item); case TargetObjectType.Checkin: return Checkin.ParseJson(item); case TargetObjectType.Special: // VenueId, if null, must be parsed out of the // notification or else it will throw. FYI. return CompactSpecial.ParseJson(item, null); case TargetObjectType.Tip: return Tip.ParseJson(item); case TargetObjectType.Url: Uri uri = Json.TryGetUriProperty(item, "url"); return uri; case TargetObjectType.User: return CompactUser.ParseJson(item); case TargetObjectType.Venue: return CompactVenue.ParseJson(item); default: break; } } } catch (Exception) { } return null; }