本文整理汇总了C#中ProtoCrewMember.RegisterExperienceTraits方法的典型用法代码示例。如果您正苦于以下问题:C# ProtoCrewMember.RegisterExperienceTraits方法的具体用法?C# ProtoCrewMember.RegisterExperienceTraits怎么用?C# ProtoCrewMember.RegisterExperienceTraits使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProtoCrewMember
的用法示例。
在下文中一共展示了ProtoCrewMember.RegisterExperienceTraits方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddKerbal
//Adds a just thawed kerbal to the vessel.
private bool AddKerbal(ProtoCrewMember kerbal, int SeatIndx)
{
Utilities.Log_Debug("Start AddKerbal " + kerbal.name);
try
{
try
{
FrznCrewMbr tmpcrew = _StoredCrewList.Find(a => a.CrewName == kerbal.name); // Find the thawed kerbal in the frozen kerbal list.
if (_StoredCrewList.Contains(tmpcrew))
{
Utilities.Log_Debug("Removing _StoredCrewList entry");
_StoredCrewList.Remove(tmpcrew);
}
}
catch (Exception ex)
{
Utilities.Log("Unable to remove _StoredCrewList frozen crewmember " + kerbal.name);
Utilities.Log("Err: " + ex);
//ScreenMessages.PostScreenMessage("DeepFreezer mechanical failure", 5.0f, ScreenMessageStyle.UPPER_CENTER);
//return false;
}
// Update the saved frozen kerbals dictionary
Utilities.Log_Debug("Removing Frozen Crew to dictionary");
try
{
if (DeepFreeze.Instance.DFgameSettings.KnownFrozenKerbals.ContainsKey(kerbal.name))
{
DeepFreeze.Instance.DFgameSettings.KnownFrozenKerbals.Remove(kerbal.name);
}
if (DeepFreeze.Instance.DFsettings.debugging) DeepFreeze.Instance.DFgameSettings.DmpKnownFznKerbals();
}
catch (Exception ex)
{
Utilities.Log("Unable to remove knownfrozenkerbals frozen crewmember " + kerbal.name);
Utilities.Log("Err: " + ex);
ScreenMessages.PostScreenMessage("DeepFreezer mechanical failure", 5.0f, ScreenMessageStyle.UPPER_CENTER);
return false;
}
if (partHasInternals && ExternalDoorActive)
Utilities.setHelmetshaders(kerbal.KerbalRef, true);
// add the CrewMember to the part crewlist and register their traits.
kerbal.RegisterExperienceTraits(part);
if (!part.protoModuleCrew.Contains(kerbal))
{
part.protoModuleCrew.Add(kerbal);
}
// Set our newly thawed Popsicle, er Kerbal, to Crew type and Assigned status.
if (kerbal.type != ProtoCrewMember.KerbalType.Crew)
{
kerbal.type = ProtoCrewMember.KerbalType.Crew;
kerbal.rosterStatus = ProtoCrewMember.RosterStatus.Assigned;
}
if (partHasInternals)
{
if (kerbal.seat != part.internalModel.seats[SeatIndx])
{
kerbal.seat = part.internalModel.seats[SeatIndx];
kerbal.seatIdx = SeatIndx;
}
if (part.internalModel.seats[SeatIndx].crew != kerbal)
{
part.internalModel.seats[SeatIndx].crew = kerbal;
}
if (part.internalModel.seats[SeatIndx].kerbalRef != kerbal.KerbalRef)
{
part.internalModel.seats[SeatIndx].kerbalRef = kerbal.KerbalRef;
part.internalModel.seats[SeatIndx].taken = true;
setseatstaticoverlay(part.internalModel.seats[SeatIndx]);
}
seatTakenbyFrznKerbal[SeatIndx] = false;
}
/*if (kerbal.KerbalRef != null)
{
if (kerbal.KerbalRef.InPart == null)
{
kerbal.KerbalRef.InPart = part;
}
//Add themto the GUIManager Portrait cams.
Portraits.RestorePortrait(kerbal.KerbalRef);
}*/
Utilities.Log_Debug("End AddKerbal");
return true;
}
catch (Exception ex)
{
Debug.Log("Add Kerbal " + kerbal.name + " for DeepFreeze failed");
Debug.Log("Err: " + ex);
return false;
}
}