/// <summary> /// 현재 덱의 정보를 저장 /// </summary> public void SaveData() { DataArea db = Management.MenuGameManager.Instance.DataArea; if (db.OwnedData.DecData.Count > curOwnedDecIndex) { db.OwnedData.DecData[curOwnedDecIndex].decList = new List <DecInfo>(); for (int i = 0; i < decData.decList.Count; ++i) { db.OwnedData.DecData[curOwnedDecIndex].decList.Add(decData.decList[i]); } db.OwnedData.DecData[curOwnedDecIndex].decCount = decData.decList.Count; if (decData.decCount <= 0) { db.OwnedData.DecData.RemoveAt(curOwnedDecIndex); } } else { db.OwnedData.DecData.Add(new SettingDecData(decData.decList.Count, "새로운 덱 " + curOwnedDecIndex, new List <DecInfo>(decData.decList))); curOwnedDecIndex = db.OwnedData.DecData.Count - 1; } }
public float ValueLookup(int x, int y) { // find area DataArea lookupArea = null; foreach (DataArea area in lookupLayer.Areas) { if (area.Area.Contains(x, y)) { lookupArea = area; break; } } if (lookupArea != null) { int xActual = x - lookupArea.Area.Left; int yActual = y - lookupArea.Area.Top; if (lookupArea is FloatArea) { return((float)lookupArea[xActual, yActual]); } else { return((byte)lookupArea[xActual, yActual]); } } return(0); }
private void SetTextBySelectedMat(DataArea _db) { int needExp = _db.OwnedData.ItemData[slot.IndexOfViewType].NeedExp; int curExp = _db.OwnedData.ItemData[slot.IndexOfViewType].CurExp + addExp; int lv = _db.OwnedData.ItemData[slot.IndexOfViewType].Lv; int prevLv = lv; bool changeLv = false; while (needExp <= curExp) { ++lv; curExp -= needExp; needExp = _db.DefaultExpManager.UnitExpChart.NeedExp[lv]; changeLv = true; } addLv = lv - prevLv; addExp = curExp; BasicStatus bs = _db.DefaultItemData[_db.OwnedData.ItemData[slot.IndexOfViewType].IndexOfType].BasicStatus; BasicStatus abs = _db.OwnedData.ItemData[slot.IndexOfViewType].AddStatus; BasicStatus nextAbs = _db.OwnedData.ItemData[slot.IndexOfViewType].AddStatus + _db.DefaultItemData[_db.OwnedData.ItemData[slot.IndexOfViewType].IndexOfType].AddStatusByLv * (lv - prevLv); if (addLv > 0) { lvText.text = (_db.OwnedData.ItemData[slot.IndexOfViewType].Lv) + " >> " + lv; } else { lvText.text = prevLv.ToString(); } expText.text = (_db.OwnedData.ItemData[slot.IndexOfViewType].CurExp) + " >> " + curExp; }
/// <summary> /// 通信命令发送前的协议格式化 /// </summary> /// <param name="str"></param> /// <returns></returns> private string FormatCmd(CmdType cmdType, DataArea areaType) { string cmdStr = "@00FA000000000"; //读写指令字符串的前缀 //先拼接读写命令 if (cmdType == CmdType.CmdRead) { cmdStr += "0101"; } else if (cmdType == CmdType.CmdWrite) { cmdStr += "0102"; } //再拼接操作区代码 if (areaType == DataArea.DMWord) { cmdStr += "82"; } else if (areaType == DataArea.WRBit) { cmdStr += "31"; } return(cmdStr); }
public override void Create(byte[] create) { Analysis(create); var n1 = DataArea.Take(7).ToArray(); DeviceNumber = new DeviceNumber(n1); }
/// <summary> /// 서브 콘테이너에게 인덱스를 받아 세팅 /// </summary> /// <param name="_index"></param> public override void GetTargetIndex(int _index) { if (_index >= 0) { selectTarget = true; } else { Strengthen(); return; } DataArea db = Management.MenuGameManager.Instance.DataArea; slot.IndexOfViewType = _index; slot.lvText.text = db.OwnedData.MinionData[_index].Lv.ToString(); slot.nameText.text = db.DefaultMinionData[db.OwnedData.MinionData[_index].IndexOfMinion].MinionName; slot.SlotImage.sprite = Resources.Load <Sprite>(db.DefaultMinionData[db.OwnedData.MinionData[_index].IndexOfMinion].MainImagePath); BasicStatus bs = db.DefaultMinionData[db.OwnedData.MinionData[_index].IndexOfMinion].BasicStatus; BasicStatus abs = db.OwnedData.MinionData[_index].AddStatus; lvText.text = (db.OwnedData.MinionData[_index].Lv).ToString(); expText.text = (db.OwnedData.MinionData[_index].CurExp).ToString(); hpText.text = (bs.Hp + abs.Hp).ToString(); mpText.text = (bs.Mp + abs.Mp).ToString(); attackSpeedText.text = (bs.AttackSpeed + abs.AttackSpeed).ToString(); attackRangeText.text = (bs.AttackRange + abs.AttackRange).ToString(); attackPowerText.text = (bs.AttackPower + abs.AttackPower).ToString(); criticalChanceText.text = (bs.CriticalChance + abs.CriticalChance).ToString(); deffenceText.text = (bs.Deffence + abs.Deffence).ToString(); deffencePentractionText.text = (bs.DeffencePentraction + abs.DeffencePentraction).ToString(); evasiveText.text = (bs.Evasive + abs.Evasive).ToString(); moveSpeedText.text = (bs.MoveSpeed + abs.MoveSpeed).ToString(); }
/// <summary> /// 서브 콘테이너에게 인덱스를 받아 세팅 /// </summary> /// <param name="_index"></param> public override void GetTargetIndex(int _index) { if (_index >= 0) { selectTarget = true; } else { Strengthen(); return; } DataArea db = Management.MenuGameManager.Instance.DataArea; slot.IndexOfViewType = _index; slot.lvText.text = db.OwnedData.SkillData[_index].Lv.ToString(); slot.nameText.text = db.DefaultSkillData[db.OwnedData.SkillData[_index].IndexOfType].SkillName; slot.SlotImage.sprite = Resources.Load <Sprite>(db.DefaultSkillData[db.OwnedData.SkillData[_index].IndexOfType].MainImagePath); BasicStatus bs = db.DefaultSkillData[db.OwnedData.SkillData[_index].IndexOfType].BasicStatus; BasicStatus abs = db.OwnedData.SkillData[_index].AddStatus; lvText.text = (db.OwnedData.SkillData[_index].Lv).ToString(); expText.text = (db.OwnedData.SkillData[_index].CurExp).ToString(); }
public void SetDec() { ClearSlot(); // dec Setting int maxDec = (int)DecMax.OwnedMax; DataArea db = Management.MenuGameManager.Instance.DataArea; int decIndex = db.LoginData.Free_DecSlotCount + db.LoginData.Event_DecSlotCount + db.LoginData.Pay_DecSlotCount; for (int i = 0; i < maxDec; ++i) { UI_DecSlotModule newDecSlot = Instantiate(slotPrefab, slotParent.transform).GetComponent <UI_DecSlotModule>(); newDecSlot.indexOfSlot = i; decList.Add(newDecSlot); // 소유 가능한 덱보다 작으면 세팅 if (i >= decIndex) { continue; } Sprite image = null; string decName = "덱을 세팅하세요"; // slot Setting // 세팅된 덱의 데이터 가 있다면 세팅 if (db.OwnedData.DecData.Count > i) { newDecSlot.indexOfType = i; int unitIndex = db.OwnedData.DecData[i].decList[0].ownedIndex; DecType type = db.OwnedData.DecData[i].decList[0].type; string path = ""; if (type == DecType.Minion) { path = db.DefaultMinionData[db.OwnedData.MinionData[unitIndex].IndexOfMinion].MainImagePath; } else { path = db.DefaultSkillData[db.OwnedData.SkillData[unitIndex].IndexOfType].MainImagePath; } image = Resources.Load <Sprite>(path); decName = db.OwnedData.DecData[i].decName; newDecSlot.decCountText.text = db.OwnedData.DecData[i].decCount + "/" + (int)DecMax.UnitMax; } newDecSlot.decNameText.text = decName; newDecSlot.slotImage.sprite = image; // trigger set if (newDecSlot.clickFunc == null) { newDecSlot.clickFunc = () => { ClickedButton(ownerContainer, openSubContainerModuleIndex, new OpenSubContainerData(openSubContainerModuleIndex, newDecSlot.indexOfSlot)); }; } } }
/// <summary> /// 从PLC读DM区字数据 /// </summary> /// <param name="addr"></param> /// <param name="len"></param> public void ReadDMDatas(int addr, int len) { curAddr = addr; curReadNum = len * 2; curOpArea = DataArea.DMWord; string cmdstr = FormatCmd(CmdType.CmdRead, DataArea.DMWord); cmdstr = string.Format("{0}{1}00{2}", cmdstr, addr.ToString("X4"), curReadNum.ToString("X4")); ScomSendData(cmdstr); }
private void SetSettingDataArea(DataArea dataArea) { // set by setData dataArea.LoginData.NeedLvExp = dataArea.DefaultExpManager.UserExpChart.NeedExp[dataArea.LoginData.Lv - 1]; dataArea.LoginData.Free_DecSlotCount = dataArea.DefaultUserData.BasicDecCount + dataArea.LoginData.Lv / dataArea.DefaultUserData.OpenFreeDecLvInterval; dataArea.LoginData.PlusGatchaRate = dataArea.DefaultUserData.AddGatchaRateByLv * dataArea.LoginData.Lv; dataArea.LoginData.PlusStrengthenRate = dataArea.DefaultUserData.AddStrengthenRateByLv * dataArea.LoginData.Lv; dataArea.OwnedData = new OwnedListData(); dataArea.OwnedData.ItemData = new List <SettingItemData>(); dataArea.OwnedData.MinionData = new List <SettingMinionData>(); // item int lv = 3; dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 0, lv, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv - 1], true, 0)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 1, lv, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv - 1], true, 1)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 0, lv + 3, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv + 2], false, -1)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 1, lv + 3, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv + 2], false, -1)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 0, lv + 1, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv], false, -1)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 1, lv + 1, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv], false, -1)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 0, lv + 5, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv + 4], false, -1)); dataArea.OwnedData.ItemData.Add(new SettingItemData(ItemType.Weapon, dataArea.LoginData.ItemSerializeCodeCount++, 1, lv + 5, 0, dataArea.DefaultExpManager.ItemExpChart.NeedExp[lv + 4], false, -1)); // minion int rate = 1; int skillLV = 1; int needExp = dataArea.DefaultExpManager.SkillExpChart.NeedExp[skillLV]; SettingMinionSkillData minionSkill = new SettingMinionSkillData(SkillType.Active, 0, skillLV, 0, needExp); dataArea.OwnedData.MinionData.Add(new SettingMinionData(0, dataArea.LoginData.MinionSerializeCodeCount++, lv, rate, 0, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv - 1], 3, new int[] { 0 }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(1, dataArea.LoginData.MinionSerializeCodeCount++, lv, rate, 10, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv - 1], 3, new int[] { 1 }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(0, dataArea.LoginData.MinionSerializeCodeCount++, lv + 5, rate, 0, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv + 4], 3, new int[] { }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(1, dataArea.LoginData.MinionSerializeCodeCount++, lv + 2, rate, 10, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv + 1], 3, new int[] { }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(0, dataArea.LoginData.MinionSerializeCodeCount++, lv, rate, 0, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv - 1], 3, new int[] { }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(1, dataArea.LoginData.MinionSerializeCodeCount++, lv, rate, 10, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv - 1], 3, new int[] { }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(0, dataArea.LoginData.MinionSerializeCodeCount++, lv + 5, rate, 0, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv + 4], 3, new int[] { }, 2, new SettingMinionSkillData[] { minionSkill })); dataArea.OwnedData.MinionData.Add(new SettingMinionData(1, dataArea.LoginData.MinionSerializeCodeCount++, lv + 2, rate, 10, dataArea.DefaultExpManager.UnitExpChart.NeedExp[lv + 1], 3, new int[] { }, 2, new SettingMinionSkillData[] { minionSkill })); // skill dataArea.OwnedData.SkillData = new List <SettingSkillData>(); int skillLv = 2; dataArea.OwnedData.SkillData.Add(new SettingSkillData(SkillType.Active, 0, skillLv, 0, dataArea.DefaultExpManager.SkillExpChart.NeedExp[skillLv - 1])); dataArea.OwnedData.SkillData.Add(new SettingSkillData(SkillType.Active, 0, skillLv + 2, 0, dataArea.DefaultExpManager.SkillExpChart.NeedExp[skillLv + 1])); dataArea.OwnedData.SkillData.Add(new SettingSkillData(SkillType.Active, 1, skillLv + 5, 100, dataArea.DefaultExpManager.SkillExpChart.NeedExp[skillLv + 4])); dataArea.OwnedData.SkillData.Add(new SettingSkillData(SkillType.Active, 1, skillLv, 0, dataArea.DefaultExpManager.SkillExpChart.NeedExp[skillLv - 1])); // dec dataArea.OwnedData.DecData = new List <SettingDecData>(); }
public override Bitmap GenerateBitmap(Size size, DataArea area) { SizeF scale = new SizeF(area.Area.Width / size.Width, area.Area.Height / size.Height); PointF startPos = area.Area.Location; PointF pos = startPos; Bitmap bitmap = new Bitmap(size.Width, size.Height, PixelFormat.Format32bppArgb); BitmapData data = bitmap.LockBits(new Rectangle(0, 0, size.Width, size.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb); unsafe { Bitmap32bitARGBPixel *pixels = (Bitmap32bitARGBPixel *)data.Scan0; if (area.Data is byte[]) { for (int y = 0; y < size.Height; y++) { pos.X = startPos.X; for (int x = 0; x < size.Width; x++) { // take sample byte value = (byte)area[(int)pos.X, (int)pos.Y]; //bitmap.SetPixel(x, y, GetPixel((int)pos.X, (int)pos.Y, value)); SetPixel((int)pos.X, (int)pos.Y, value, pixels); pos.X += scale.Width; pixels++; } pos.Y += scale.Height; } } else if (area.Data is float[]) { for (int y = 0; y < size.Height; y++) { pos.X = startPos.X; for (int x = 0; x < size.Width; x++) { // take sample float rawValue = (float)area[(int)pos.X, (int)pos.Y]; float value = rawValue / area.MaxDataValue; //bitmap.SetPixel(x, y, Color.FromArgb(255, value, value, value)); SetPixel((int)pos.X, (int)pos.Y, value, pixels); pos.X += scale.Width; pixels++; } pos.Y += scale.Height; } } } bitmap.UnlockBits(data); return(bitmap); }
/// <summary> /// 从PLC读WR区寄存器位数据 /// </summary> /// <param name="addr"></param> /// <param name="len"></param> public string[] ReadWRDat(int addr, int len) { string[] res; curAddr = addr; curReadNum = len; curOpArea = DataArea.WRBit; string cmdstr = FormatCmd(CmdType.CmdRead, DataArea.WRBit); cmdstr = string.Format("{0}{1}00{2}", cmdstr, addr.ToString("X4"), len.ToString("X4")); res = ReadAndReceive(cmdstr); return(res); }
public override void Create(byte[] create) { FullFrame = create; Analysis(create); var version = DataArea.Take(2).ToArray(); HardwareVersion = new HardwareVersion(version); var version1 = DataArea.Skip(2).Take(2).ToArray(); SoftwareVersion = new SoftwareVersion(version1); }
public DataArea[] BreakdownGroup() { if (breakdownRects != null) { return(breakdownRects); } RectangleF[] rectsF = region.GetRegionScans(new Matrix()); DataArea[] rects = breakdownRects = new DataArea[rectsF.Length]; // convert rectangles for (int i = 0; i < rects.Length; i++) { Rectangle rect = Rectangle.Truncate(rectsF[i]); // match to source rect DataArea src = null; foreach (DataArea tRect in rectangles) { if (tRect.Area.Contains(rect)) { src = tRect; break; } } if (src != null) { // calc tex-coords int xStartPos = rect.X - src.Area.X; float xScale = src.TexCoords.Width / src.Area.Width; float xStart = src.TexCoords.X + (xStartPos * xScale); float xEnd = rect.Width * xScale; int yStartPos = rect.Y - src.Area.Y; float yScale = src.TexCoords.Height / src.Area.Height; float yStart = src.TexCoords.Y + (yStartPos * yScale); float yEnd = rect.Height * yScale; if (src.Data is byte[]) { rects[i] = new ByteArea(rect, new RectangleF(xStart, yStart, xEnd, yEnd), (byte[])src.Data, src.DataSize); } else { rects[i] = new FloatArea(rect, new RectangleF(xStart, yStart, xEnd, yEnd), (float[])src.Data, src.DataSize); } } } return(rects); }
public int getuser(string user) { int u = data.Areas.FindIndex(m => m.User == user); if (u == -1) { DataArea da = new DataArea(); da.User = user; da.Items = new List <DataItem>(); data.Areas.Add(da); u = data.Areas.FindIndex(m => m.User == user); } return(u); }
private void SearchDecByIndex(DataArea _db, DecType type, int _index, int _newIndex) { for (int i = 0; i < _db.OwnedData.DecData.Count; ++i) { for (int j = 0; j < _db.OwnedData.DecData[i].decList.Count; ++j) { if (_db.OwnedData.DecData[i].decList[j].type == type && _db.OwnedData.DecData[i].decList[j].ownedIndex == _index) { _db.OwnedData.DecData[i].decList[j].ownedIndex = _newIndex; } } } }
/// <summary> /// 从PLC读DM区字数据 /// </summary> /// <param name="addr"></param> /// <param name="len"></param> public string[] ReadDMIntDats(int addr, int len) { string[] res; curAddr = addr; curReadNum = len * 2; curOpData = DataType.IntData; curOpArea = DataArea.DMWord; string cmdstr = FormatCmd(CmdType.CmdRead, DataArea.DMWord); cmdstr = string.Format("{0}{1}00{2}", cmdstr, addr.ToString("X4"), curReadNum.ToString("X4")); res = ReadAndReceive(cmdstr); return(res); }
/// <summary> /// 从PLC读一个DM区字数据 /// </summary> /// <param name="addr"></param> /// <param name="len"></param> public string[] ReadDMDat(int addr) { string[] res; curAddr = addr; curReadNum = 2; curOpData = DataType.FloatData; curOpArea = DataArea.DMWord; string cmdstr = FormatCmd(CmdType.CmdRead, DataArea.DMWord); cmdstr = string.Format("{0}{1}000002", cmdstr, addr.ToString("X4")); res = ReadAndReceive(cmdstr); return(res); }
public void CloseButton(UI_Container _container) { DataArea db = Management.MenuGameManager.Instance.DataArea; try { int resultCurSelectSlot = curSelectSlot >= 0 ? db.OwnedData.ItemData[slotList[curSelectSlot].IndexOfViewType].IndexOfSerializeCode : -1; ClickedButton(_container, closeSubContainerModuleIndex, new int[] { curItemSlotIndex, resultCurSelectSlot }); } catch (Exception ex) { Management.MenuGameManager.Instance.errorText.text = ex.Message; } }
private int OperateExp(DataArea _db) { int addExp = 0; Debug.Log("Rate 추가해서 고쳐야됨"); for (int i = 0; i < selectedMatOwnedIndex.Count; ++i) { //_db.DefaultMinionData[_db.OwnedData.MinionData[selectedMatOwnedIndex[i]].IndexOfMinion]; addExp += _db.DefaultExpManager.UnitExp[2]; } return(addExp); }
/// <summary> /// 从PLC读WR区寄存器位数据 /// </summary> /// <param name="addr"></param> /// <param name="len"></param> public void ReadWRData(int addr, int len) { if (len > 538) { len = 538; //使用fins指令最大可以读取538个字节,PLC中一个字节占16位 } curAddr = addr; curReadNum = len; curOpArea = DataArea.WRBit; string cmdstr = FormatCmd(CmdType.CmdRead, DataArea.WRBit); cmdstr = string.Format("{0}{1}00{2}", cmdstr, addr.ToString("X4"), len.ToString("X4")); ScomSendData(cmdstr); }
public override Bitmap GenerateBitmap(Size size, DataArea area) { SizeF scale = new SizeF(area.Area.Width / size.Width, area.Area.Height / size.Height); PointF startPos = area.Area.Location; PointF pos = startPos; Bitmap bitmap = new Bitmap(size.Width, size.Height); if (area.Data is byte[]) { for (int y = 0; y < size.Height; y++) { pos.X = startPos.X; for (int x = 0; x < size.Width; x++) { // take sample byte value = (byte)area[(int)pos.X, (int)pos.Y]; // TODO: Use unmanaged direct access bitmap.SetPixel(x, y, Color.FromArgb(255, value, value, value)); pos.X += scale.Width; } pos.Y += scale.Height; } } else if (area.Data is float[]) { for (int y = 0; y < size.Height; y++) { pos.X = startPos.X; for (int x = 0; x < size.Width; x++) { // take sample float rawValue = (float)area[(int)pos.X, (int)pos.Y]; if (rawValue > 0) { byte value = (byte)((rawValue / area.MaxDataValue) * 255); // TODO: Use unmanaged direct access bitmap.SetPixel(x, y, Color.FromArgb(255, value, value, value)); } pos.X += scale.Width; } pos.Y += scale.Height; } } return(bitmap); }
private void SetTextBySelectedMat(DataArea _db) { int needExp = _db.OwnedData.MinionData[slot.IndexOfViewType].NeedExp; int curExp = _db.OwnedData.MinionData[slot.IndexOfViewType].CurExp + addExp; int lv = _db.OwnedData.MinionData[slot.IndexOfViewType].Lv; int prevLv = lv; bool changeLv = false; while (needExp <= curExp) { ++lv; curExp -= needExp; needExp = _db.DefaultExpManager.UnitExpChart.NeedExp[lv]; changeLv = true; } ChangeStatus(_db, curExp, lv, prevLv); }
private void SetDefaultDataArea(DataArea dataArea) { string basicPath = ""; string json = ""; #if UNITY_STANDALONE_WIN || UNITY_EDITOR basicPath = Application.streamingAssetsPath; json = File.ReadAllText(basicPath + DataPath.defaultPath); #else basicPath = "jar:file://" + Application.dataPath + "!/assets"; WWW www = new WWW(basicPath + DataPath.defaultPath); json = www.text; Debug.LogError(json); #endif // load Management.MenuGameManager.Instance.DataArea = JsonUtility.FromJson <DataArea>(json); Debug.Log("Complete Load"); }
//打印 public void PrintD() { PageIndex = -1; Count = (List.Count % PageRow == 0) ? (List.Count / PageRow) : (List.Count / PageRow) + 1; if (Count == 0) { return; } int c = list.Count; PrintDocument pd = new PrintDocument(); pd.PrintPage += (o, e) => { PrintDocument pd1 = (PrintDocument)o; if (pd1.PrintedPageCount - 1 != PageIndex) { return; } if (List is PagedObjectList) { PageIndex++; PagedObjectList pol = (PagedObjectList)List; pol.DataLoaded += (o1, e1) => { //加载展示数据 go.CopyDataFrom(List[0]); e.PageVisual = DataArea; DataArea.UpdateLayout(); //打印完成,重置索引 if (PageIndex == Count - 1) { e.HasMorePages = false; } else { e.HasMorePages = true; } }; pol.PageIndex = PageIndex; } }; pd.Print(""); }
/// <summary> /// Read dataarea information /// </summary> /// <param name="reader">XmlReader representing a dataarea block</param> /// <param name="dataArea">DataArea representing the enclosing area</param> private List <DatItem> ReadDataArea(XmlReader reader, DataArea dataArea) { List <DatItem> items = new List <DatItem>(); while (!reader.EOF) { // We only want elements if (reader.NodeType != XmlNodeType.Element) { reader.Read(); continue; } // Get the elements from the software switch (reader.Name) { case "rom": var rom = new Rom { Name = reader.GetAttribute("name"), Size = Sanitizer.CleanLong(reader.GetAttribute("size")), CRC = reader.GetAttribute("crc"), SHA1 = reader.GetAttribute("sha1"), Offset = reader.GetAttribute("offset"), Value = reader.GetAttribute("value"), ItemStatus = reader.GetAttribute("status").AsItemStatus(), LoadFlag = reader.GetAttribute("loadflag").AsLoadFlag(), DataArea = dataArea, }; items.Add(rom); reader.Read(); break; default: reader.Read(); break; } } return(items); }
/// <summary> /// 슬롯 선택시 /// </summary> /// <param name="_slotIndex"></param> public void SelectSlot(int _slotIndex) { DataArea db = Management.MenuGameManager.Instance.DataArea; DecInfo curUnit = null; // 덱에 세팅되있는 값이면 취소하고 if ((curUnit = SearchSame(_slotIndex)) != null) { --decData.decCount; decData.decList.Remove(curUnit); slotList[_slotIndex].selectedImage.SetActive(false); } // 없으면 덱에 넣고 selected else if (decData.decCount < (int)DecMax.UnitMax) { ++decData.decCount; decData.decList.Add(new DecInfo(curType, _slotIndex)); slotList[_slotIndex].selectedImage.SetActive(true); } }
/// <summary> /// 서브 콘테이너에게 리스트를 받아 세팅 /// </summary> /// <param name="selectedList"></param> public override void GetMatList(List <int> selectedList) { DataArea db = Management.MenuGameManager.Instance.DataArea; if (selectedList == null) { ClearMatList(true); return; } ClearMatList(false); selectedMatOwnedIndex = selectedList; int count = selectedList.Count; selectMat = true; for (int i = 0; i < count; ++i) { UI_StrengthenModule newSlot = Instantiate(matSlotPrefab, matSlotParent.transform).GetComponent <UI_StrengthenModule>(); // image set newSlot.SlotImage.sprite = Resources.Load <Sprite>(db.DefaultMinionData[db.OwnedData.MinionData[selectedList[i]].IndexOfMinion].MainImagePath); newSlot.IndexOfViewType = selectedList[i]; // button triggerset if (newSlot.clickFunc == null) { newSlot.clickFunc = () => { CancleMatSlot(newSlot.IndexOfSlot); } } ; //EventTrigger.Entry entry = new EventTrigger.Entry(); //entry.eventID = EventTriggerType.PointerDown; //entry.callback.AddListener((eventData) => { CancleMatSlot(newSlot.IndexOfSlot); }); //newSlot.EventTrigger.triggers.Add(entry); // add list matSlotList.Add(newSlot); // add selectedList } addExp = OperateExp(db); SetTextBySelectedMat(db); }
private void SetStage(int _indexOfChapter) { DataArea db = Management.MenuGameManager.Instance.DataArea; curChapterIndex = _indexOfChapter; int clearStage = db.LoginData.ClearStage; Vector2 curPos = Vector2.zero; for (int i = 0; i < db.DefaultChapterData[curChapterIndex].stage.Count; ++i) { if (i == 0) { curPos += fristSlotPos; } else if (i % 2 == 0) { curPos += evenNumberSlotOffset; } else { curPos += oddNumberSlotOffset; } UI_StageSlotModule slot = Instantiate(stageSlotPrefab, stageSlotParent.transform).GetComponent <UI_StageSlotModule>(); slot.SetSlot(i, db.DefaultChapterData[curChapterIndex].stage[i], clearStage >= i ? true : false); slot.clickedFunc = () => { ClickedButton(ownerContainer, indexOfOpenSelectDecModule, new OpenSubContainerData(0, new int[] { curChapterIndex, slot.indexOfSlot })); }; slot.thisRectTransform.anchoredPosition = curPos; stageSlotList.Add(slot); } int Size_Y = db.DefaultChapterData[curChapterIndex].stage.Count * 400 + 300; if (Size_Y < stageRectT_Y_DefaultSize) { Size_Y = stageRectT_Y_DefaultSize; } Vector2 size = stageContainViewerRectT.anchoredPosition + Vector2.up * Size_Y; stageContainViewerRectT.anchoredPosition = size; }
public override Texture GenerateTexture(Size size, DataArea area, Device gDevice) { Texture texture = new Texture(gDevice, size.Width, size.Height, 0, Usage.None, Format.A8R8G8B8, Pool.Managed); lock (this) { ftAreaTemp = area; ftScaleTemp = new SizeF(1, 1);//(float)area.Area.Width / area.DataSize.Width, (float)area.Area.Height / area.DataSize.Height); ftScaleTemp = new SizeF(ftScaleTemp.Width * area.Area.Width, ftScaleTemp.Height * area.Area.Height); ftShiftTemp = new Size(area.Area.Location); if (area.Data is byte[]) { TextureLoader.FillTexture(texture, FillTextureByte); } else if (area.Data is float[]) { TextureLoader.FillTexture(texture, FillTextureFloat); } } return(texture); }
/// <summary> /// Initializes a new instance of the RasterSampler class. /// </summary> /// <param name="dataSource">The data area source</param> /// <param name="sampleSizeF">The initial sample size to take</param> public RasterSampler(DataArea dataSource, float sampleSizeF) { this.dataSource = dataSource; SampleSizeF = sampleSizeF; }
/// <summary> /// Initializes a new instance of the RasterSampler class. /// </summary> /// <param name="dataSource">The data area source</param> /// <param name="sampleSize">The initial sample size to take</param> public RasterSampler(DataArea dataSource, int sampleSize) { this.dataSource = dataSource; SampleSize = sampleSize; }
public SimpleRasterSampler(DataArea dataSource, int sampleSize) : base(dataSource, sampleSize) { width = dataSource.Area.Width - 1; height = dataSource.Area.Height - 1; }