示例#1
0
        // Function from file: camera.dm
        public override void Activate(int?forced_state = null)
        {
            dynamic C          = null;
            Obj     remote_eye = null;
            Obj_Machinery_Computer_CameraAdvanced origin = null;
            Camerachunk chunk = null;


            if (!Lang13.Bool(this.target) || !(this.target is Mob_Living_Carbon))
            {
                return;
            }
            C                   = this.target;
            remote_eye          = C.remote_control;
            origin              = ((dynamic)remote_eye).origin;
            origin.current_user = null;
            origin.jump_action.Remove(C);
            ((dynamic)origin).tele_in_action.Remove(C);
            ((dynamic)origin).tele_out_action.Remove(C);
            ((dynamic)origin).tele_self_action.Remove(C);
            ((dynamic)origin).vest_mode_action.Remove(C);
            ((dynamic)origin).vest_disguise_action.Remove(C);
            ((dynamic)remote_eye).eye_user = null;
            ((Mob)C).reset_perspective(null);

            if (Lang13.Bool(C.client))
            {
                C.client.images.Remove(((dynamic)remote_eye).user_image);

                foreach (dynamic _a in Lang13.Enumerate(((dynamic)remote_eye).visibleCameraChunks, typeof(Camerachunk)))
                {
                    chunk = _a;

                    C.client.images.Remove(chunk.obscured);
                }
            }
            C.remote_control = null;
            ((Mob)C).unset_machine();
            this.Remove(C);
            return;
        }
示例#2
0
 // Function from file: camera_advanced.dm
 public override dynamic Destroy(  )
 {
     this.eye_user = null;
     this.origin   = null;
     return(base.Destroy());
 }