Ejemplo n.º 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);
            }
        }
Ejemplo n.º 2
0
 public void StartProcedure(Dissectible Dissectible, BodyPart bodyPart, SurgeryProcedureBase SurgeryProcedureBase)
 {
     Clear();
     this.SetActive(false);
     RequestSurgery.Send(bodyPart?.gameObject, Dissectible.gameObject, SurgeryProcedureBase);
     // send message to server
     // Dissectible.currentlyOn = bodyPart;
     // Dissectible.ThisPresentProcedure.SetupProcedure(Dissectible, bodyPart, SurgeryProcedureBase);
 }
Ejemplo n.º 3
0
 public void ShowDialogue(Dissectible Dissectible, BodyPart BodyPart)
 {
     Clear();
     this.SetActive(true);
     foreach (var Procedure in BodyPart.SurgeryProcedureBase)
     {
         if (Procedure is CloseProcedure || Procedure is ImplantProcedure)
         {
             continue;
         }
         var newItem = Instantiate(ListItem, ScrollList.transform);
         newItem.ProcedureToChoose(BodyPart.gameObject, () => { StartProcedure(Dissectible, BodyPart, Procedure); },
                                   Procedure.ProcedureSprite, Procedure.ProcedureName);
         OpenItems.Add(newItem);
     }
 }
Ejemplo n.º 4
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);
    }