예제 #1
0
        public void ShowDialogue(Dissectible Dissectible, List <BodyPart> BodyParts, bool TopLayer = false)
        {
            this.transform.localPosition = Vector3.zero;
            this.SetActive(true);
            Clear();
            foreach (var bodyPart in BodyParts)
            {
                var newItem = Instantiate(ListItem, ScrollList.transform);
                newItem.BodyToChoose(bodyPart, () => { ShowDialogue(Dissectible, bodyPart); }, PickSprite, "Pick");
                OpenItems.Add(newItem);
            }

            if (TopLayer == false)
            {
                foreach (var Procedure in Dissectible.BodyPartIsOn.SurgeryProcedureBase)
                {
                    if (Procedure is CloseProcedure || Procedure is ImplantProcedure)
                    {
                        var newItem = Instantiate(ListItem, ScrollList.transform);
                        newItem.ProcedureToChoose(Dissectible.currentlyOn, () => { StartProcedure(Dissectible, Dissectible.BodyPartIsOn, Procedure); },
                                                  Procedure.ProcedureSprite, Procedure.ProcedureName);
                        OpenItems.Add(newItem);
                    }
                }
            }
            else
            {
                var Procedure = Dissectible.GetComponent <PlayerSprites>().RaceBodyparts.Base.RootImplantProcedure;
                var newItem   = Instantiate(ListItem, ScrollList.transform);
                newItem.ProcedureToChoose(Dissectible.gameObject, () => { StartProcedure(Dissectible, Dissectible.BodyPartIsOn, Procedure); },
                                          Procedure.ProcedureSprite, Procedure.ProcedureName);
                OpenItems.Add(newItem);
            }
        }
예제 #2
0
    public static NetMessage SendTo(List <BodyPart> BodyParts, Dissectible InDissectible, ConnectedPlayer Player)
    {
        List <uint> NetIDs = new List <uint>();

        foreach (var BodyPart in BodyParts)
        {
            NetIDs.Add(BodyPart  ? BodyPart.GetComponent <NetworkIdentity>().netId
                            : NetId.Invalid);
        }

        NetMessage msg =
            new NetMessage
        {
            JsonData    = JsonConvert.SerializeObject(NetIDs),
            dissectible = InDissectible  ? InDissectible.GetComponent <NetworkIdentity>().netId
                            : NetId.Invalid,
        };

        SendTo(Player, msg);
        return(msg);
    }