Esempio n. 1
0
 protected static void SetClosestTexture(List <Signboard> signs, ref Signboard current, Texture2D texture, string type)
 {
     if (signs.Count > 0)
     {
         Signboard sign = signs[0];
         if (sign != current)
         {
             current = sign;
             //Debug.Log ("Closest texture is " + sign.name);
             if (texture.name != sign.TextureName)
             {
                 //get the texture from mods and set pixels
                 if (!Mods.Get.Runtime.Texture(texture, "Signboard", sign.TextureName))
                 {
                     ////Debug.Log ("COULDN'T LOAD TEXTURE " + sign.TextureName);
                 }
                 else
                 {
                     //Debug.Log ("LOADED SIGN BOARD TEXTURE " + sign.TextureName);
                 }
             }
             //Debug.Log ("Setting state to " + sign.Style.ToString ());
             sign.worlditem.State = type + sign.Style.ToString();
         }
     }
 }
        public void AssignSignboard_InvalidSignboard_AddSignboard()
        {
            Signboard signboard = new Signboard("test", Guid.NewGuid(), Guid.NewGuid(), "0.0.0", 1);

            Announcement announcement = make_Announcement("test", Severity.General, new DateTime(2014, 1, 1), new DateTime(2014, 2, 1));
            announcement.AssignToSignboard(signboard);
            announcement.AssignToSignboard(signboard);
        }
 public static StateModel From(Device device, Signboard signboard)
 {
     return new StateModel()
     {
         State = device.State.ToString(),
         ChangeDate = device.DeviceStateChanges.OrderByDescending(x => x.ChangedDate).First().ChangedDate,
         MacAddress = device.MacAddress.Address,
         Comment = device.Comment
     };
 }
Esempio n. 4
0
        public static Signboard AddBar(Signboard newSign, WorldItem owner, WIGroup locationGroup, STransform offset, string textureName)
        {
            newSign = GetOrCreateSignboard(newSign, owner, locationGroup, offset, textureName, "Bar");
            switch (newSign.Style)
            {
            case SignboardStyle.A:
            default:
                Get.BarASignboards.SafeAdd(newSign);
                break;

            case SignboardStyle.B:
                Get.BarBSignboards.SafeAdd(newSign);
                break;
            }
            return(newSign);
        }
Esempio n. 5
0
 public static Signboard GetOrCreateSignboard(Signboard sign, WorldItem owner, WIGroup locationGroup, STransform offset, string textureName, string type)
 {
     if (sign == null)
     {
         WorldItem newSignWorldItem = null;
         WorldItems.CloneWorldItem("Decorations", "Signboard", offset, false, locationGroup, out newSignWorldItem);
         newSignWorldItem.Initialize();
         //offset.ApplyTo (newSignWorldItem.transform, false);
         sign             = newSignWorldItem.GetOrAdd <Signboard>();
         sign.Owner       = owner;
         sign.TextureName = textureName;
         sign.Style       = SignboardStyle.A;
         if (!string.IsNullOrEmpty(textureName))
         {
             if (textureName.StartsWith("B_"))
             {
                 sign.Style = SignboardStyle.B;
             }
             //Debug.Log ("Setting signoboard state to " + type + sign.Style.ToString ());
             newSignWorldItem.State = type + sign.Style.ToString();
         }
     }
     return(sign);
 }
        public IHttpActionResult Post(Guid companyId, SignboardInputModel model)
        {
            Signboard signboard;

            var device = DeviceRepository.GetByMacAddress(MacAddress.From(model.MacAddress));

            if (device == null || device.CompanyId != companyId)
            {
                return BadRequest("MAC address is not registered.");
            }
            else if (device.State == DeviceState.Approved)
            {
                return BadRequest("MAC address used by another signboard");
            }

            signboard = new Signboard(model.Name, companyId, device.Id, "0.0.0", 1);

            SignboardRepository.Add(signboard);

            device.Approve();

            DeviceRepository.Update(device);

            var responseModel = SignboardModel.From(signboard, device.MacAddress);

            return Created(new Uri(Url.Link("GetSignboard", new { signboardId = signboard.Id, companyId = signboard.CompanyId })), responseModel);
        }
Esempio n. 7
0
 public static Signboard AddLandmark(Signboard newSign, WorldItem owner, WIGroup locationGroup, STransform offset, string textureName)
 {
     newSign = GetOrCreateSignboard(newSign, owner, locationGroup, offset, textureName, "Landmark");
     Get.LandmarkSignboards.SafeAdd(newSign);
     return(newSign);
 }
        public void UnassignSignboard_UnassignValidSignboard_RemoveSignboard()
        {
            Signboard signboard = new Signboard("test", Guid.NewGuid(), Guid.NewGuid(), "0.0.0", 1);

            Announcement announcement = make_Announcement("test", Severity.General, new DateTime(2014, 1, 1), new DateTime(2014, 2, 1));
            announcement.AssignToSignboard(signboard);
            announcement.UnassignSignboard(signboard);

            Assert.AreEqual(announcement.SignboardIds.Count(), 0);
        }
        public void AssignSignboards_InvalidSignboards_DuplicatesInList()
        {
            List<Signboard> signboards = new List<Signboard>();

            Signboard signboard = new Signboard("test", Guid.NewGuid(), Guid.NewGuid(), "0.0.0", 1);

            signboards.Add(signboard);
            signboards.Add(signboard);

            Announcement announcement = make_Announcement("test", Severity.General, new DateTime(2014, 1, 1), new DateTime(2014, 2, 1));
            announcement.AssignToSignboards(signboards);
        }
        public void AssignSignboards_InvalidSignboards_AlreadyExists()
        {
            List<Signboard> signboards = new List<Signboard>();

            Signboard signboard1 = new Signboard("test", Guid.NewGuid(), Guid.NewGuid(), "0.0.0", 1);
            Signboard signboard2 = new Signboard("test", Guid.NewGuid(), Guid.NewGuid(), "0.0.0", 1);

            signboards.Add(signboard1);
            signboards.Add(signboard2);

            Announcement announcement = make_Announcement("test", Severity.General, new DateTime(2014, 1, 1), new DateTime(2014, 2, 1));
            announcement.AssignToSignboard(signboard1);
            announcement.AssignToSignboards(signboards);

            Assert.AreEqual(announcement.SignboardIds.Count(), 2);
        }
Esempio n. 11
-1
 internal static SignboardModel From(Signboard signboard, MacAddress macAddress)
 {
     return new SignboardModel()
     {
         SignboardId = signboard.Id,
         Name = signboard.Name,
         MacAddress = macAddress.ToString()
     };
 }