Inheritance: MonoBehaviour
コード例 #1
0
ファイル: Trait.cs プロジェクト: raysloks/EDF
 public Trait AddTo(ClickScript cs)
 {
     var trait = Instantiate();
     trait.Attach(cs);
     cs.status.Add(trait);
     return trait;
 }
コード例 #2
0
        private EwfTableItemGroup getItemGroup(int groupNumber)
        {
            var updateRegionSet = new UpdateRegionSet();

            return
                (new EwfTableItemGroup(
                     () =>
                     new EwfTableItemGroupRemainingData(
                         new PlaceHolder().AddControlsReturnThis("Group {0}".FormatWith(groupNumber).ToComponents().GetControls()),
                         groupHeadClickScript:
                         ClickScript.CreatePostBackScript(
                             PostBack.CreateIntermediate(
                                 null,
                                 id: "group{0}".FormatWith(groupNumber),
                                 firstModificationMethod: () => AddStatusMessage(StatusMessageType.Info, "You clicked group {0}.".FormatWith(groupNumber)))),
                         tailUpdateRegions: groupNumber == 1 ? new TailUpdateRegion(updateRegionSet.ToCollection(), 1).ToCollection() : null),
                     groupNumber == 1
                                                ? getItems(info.FirstGroupItemCount)
                     .Concat(
                         new Func <EwfTableItem>(
                             () =>
                             new EwfTableItem(
                                 new PostBackButton(
                                     new ButtonActionControlStyle("Add Row"),
                                     usesSubmitBehavior: false,
                                     postBack:
                                     PostBack.CreateIntermediate(
                                         updateRegionSet.ToCollection(),
                                         id: "addRow",
                                         firstModificationMethod: () => parametersModification.FirstGroupItemCount += 1)).ToCell(new TableCellSetup(fieldSpan: 2)))).ToCollection())
                                                : getItems(250)));
        }
コード例 #3
0
 // Use this for initialization
 void Start()
 {
     clickControl = GetComponent <ClickScript>();
     targetZoom   = .5f;
     rumorMode    = false;
     hobnobMode   = false;
 }
コード例 #4
0
        public override List <ActionButtonSetup> GetGlobalNavActionControls()
        {
            var navButtonSetups = new List <ActionButtonSetup>();

            // This will hide itself because Contact Us requires a logged-in user, and the standard library test web site has no users.
            navButtonSetups.Add(
                new ActionButtonSetup(
                    "Contact us",
                    new EwfLink(
                        RedStapler.StandardLibrary.EnterpriseWebFramework.EnterpriseWebLibrary.WebSite.ContactUs.Page.GetInfo(EwfPage.Instance.InfoAsBaseType.GetUrl()))));

            var menu = EwfTable.Create();

            menu.AddItem(
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(
                        clickScript:
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "testMethod", firstModificationMethod: () => EwfPage.AddStatusMessage(StatusMessageType.Info, "Successful method execution.")))),
                    "Test method"));
            navButtonSetups.Add(new ActionButtonSetup("Test", new ToolTipButton(menu)));

            navButtonSetups.Add(
                new ActionButtonSetup(
                    "Calendar",
                    new EwfLink(
                        CalendarDemo.GetInfo(
                            new EntitySetup.OptionalParameterPackage(),
                            new CalendarDemo.OptionalParameterPackage {
                ReturnUrl = EwfPage.Instance.InfoAsBaseType.GetUrl(), Date = DateTime.Now
            }))));
            return(navButtonSetups);
        }
コード例 #5
0
        public override List <ActionButtonSetup> GetGlobalNavActionControls()
        {
            var navButtonSetups = new List <ActionButtonSetup>();

            if (CreateSystem.GetInfo().IsIdenticalToCurrent())
            {
                return(navButtonSetups);
            }

            // This will hide itself because Contact Us requires a logged-in user, and the standard library test web site has no users.
            var contactPage = EnterpriseWebFramework.EnterpriseWebLibrary.WebSite.ContactSupport.GetInfo(EwfPage.Instance.InfoAsBaseType.GetUrl());

            navButtonSetups.Add(new ActionButtonSetup(contactPage.ResourceName, new EwfLink(contactPage)));

            var menu = EwfTable.Create();

            menu.AddItem(
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(
                        clickScript:
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "testMethod", firstModificationMethod: () => EwfPage.AddStatusMessage(StatusMessageType.Info, "Successful method execution.")))),
                    "Test method"));
            navButtonSetups.Add(new ActionButtonSetup("Test", new ToolTipButton(menu)));

            return(navButtonSetups);
        }
コード例 #6
0
    GameObject[] buttons; //button array to store any objects tagged "Buttons"


    private void Start()
    {
        clickScriptRef = this;                  // Reference to ClickScript
        clickAmount    = GetComponent <Text>(); // Refers to whatever the Text object's script component is

        //buttons array will store all objects with tag "Buttons"
        buttons = GameObject.FindGameObjectsWithTag("Buttons");
    } // end Start
コード例 #7
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetMouseButtonDown(0))
     {
         // マウスがクリックされたら以下を実行
         ClickScript clickScript = GetComponent <ClickScript>();
         clickScript.PopUp();
     }
 }
コード例 #8
0
ファイル: DeftTraveller.cs プロジェクト: raysloks/EDF
	void OnRoll(ClickScript cs, RollData data)
	{
		var nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("trap")==0 || nume.Current.CompareTo("ambush")==0)
				data.bonus.Add(new KeyValuePair<List<string>, int>(new List<string>(), 4));
		}
	}
コード例 #9
0
        public void RealWorldDataTableTest()
        {
            // This is what a dynamic table would output, a list of rowsetups.
            var rowSetups = new List <RowSetup>();

            rowSetups.Add(new RowSetup {
                IsHeader = true, CsvLine = new List <string> {
                    "Name", "Company", "Location", "Url", "Phone"
                }
            });

            var names     = new[] { "Sofeee", "Cathie", "Ann", "Jan", "Patty", "Cora" };
            var surNames  = new[] { "Norjaim", "Carbelt", "Wilson", "Middleberger", "Hewlett", "Taylor", "Danzen" };
            var companies = new[] { "Synergy", "Enterprises", "Dancing", "Buzz", "Local", "of Rochester" };
            var streets   = new[] { "Broad Rd", "W Elm St", "Main", "James Ave", "Water Blvd", "West Way" };

            for (var i = 0; i < 72; i++)
            {
                rowSetups.Add(
                    new RowSetup
                {
                    CsvLine = new List <string>
                    {
                        // Some random-looking values
                        names[i % names.Count()] + " " + surNames[i % surNames.Count()],
                        companies[(i + (i / 2)) % companies.Count()] + " " + companies[i % companies.Count()],
                        i + " " + streets[i % streets.Count()],
                        "http://www.google.com/search?q=" + i,
                        i.ToString("D3") + "-867-5309"
                    },
                    ClickScript      = ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://google.com")),
                    CssClass         = "gibberish_string_for_testing",
                    IsHeader         = false,
                    RankId           = i,
                    ToolTip          = "This is row " + i,
                    UniqueIdentifier = "row" + i
                });
            }

            runTest(
                writer => {
                foreach (var rowSetup in rowSetups)
                {
                    if (rowSetup.IsHeader)
                    {
                        writer.DefaultWorksheet.AddHeaderToWorksheet(rowSetup.CsvLine.ToArray());
                    }
                    else
                    {
                        writer.DefaultWorksheet.AddRowToWorksheet(rowSetup.CsvLine.ToArray());
                    }
                }
                return("data_table");
            });
        }
コード例 #10
0
ファイル: AltEnduranceTrait.cs プロジェクト: raysloks/EDF
 void OnTurnEnd(ClickScript cs, TurnData data)
 {
     if (data.type == TurnType.dungeon)
     {
         if (cs.hp.current < 3)
         {
             cs.hp.current += 1;
             cs.OnHealthChanged(1);
         }
     }
 }
コード例 #11
0
 private IEnumerable <Func <EwfTableItem> > getItems(int count)
 {
     return(from i in Enumerable.Range(1, count)
            select
            new Func <EwfTableItem>(
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(ActionControls.GetInfo())),
                    i.ToString(),
                    (i * 2) + Environment.NewLine + "extra stuff")));
 }
コード例 #12
0
 /// <summary>
 /// Creates a cell setup object.
 /// </summary>
 /// <param name="fieldSpan">The number of fields this cell will span.
 /// NOTE: Don't allow this to be less than one. Zero is allowed by the HTML spec but is too difficult for us to implement right now.
 /// </param>
 /// <param name="itemSpan">The number of items this cell will span.
 /// NOTE: Don't allow this to be less than one. Zero is allowed by the HTML spec but is too difficult for us to implement right now.
 /// </param>
 /// <param name="classes">The CSS class(es).</param>
 /// <param name="textAlignment">The text alignment of the cell.</param>
 /// <param name="clickScript">The click script.</param>
 /// <param name="toolTip">The tool tip to display. Setting ToolTipControl will ignore this property. Do not pass null.</param>
 /// <param name="toolTipControl">The control to display inside the tool tip. This will ignore the ToolTip property.</param>
 public TableCellSetup(
     int fieldSpan           = 1, int itemSpan = 1, IEnumerable <string> classes = null, TextAlignment textAlignment = TextAlignment.NotSpecified,
     ClickScript clickScript = null, string toolTip = "", Control toolTipControl = null)
 {
     FieldSpan      = fieldSpan;
     ItemSpan       = itemSpan;
     Classes        = classes ?? new string[0];
     TextAlignment  = textAlignment;
     ClickScript    = clickScript;
     ToolTip        = toolTip;
     ToolTipControl = toolTipControl;
 }
コード例 #13
0
ファイル: ClickScript.cs プロジェクト: kylepajari/SWToW
 void Awake()
 {
     if (instance != null && instance != this)
     {
         Destroy(this.gameObject);
         return;
     }
     else
     {
         instance = this;
     }
     DontDestroyOnLoad(this.gameObject);
 }
コード例 #14
0
        protected override void loadData()
        {
            var table = new DynamicTable(new EwfTableColumn("Email", Unit.Percentage(50)), new EwfTableColumn("Role", Unit.Percentage(50)));

            table.AddActionLink(new ActionButtonSetup("Create User", new EwfLink(new EditUser.Info(es.info, null))));
            foreach (var user in UserManagementStatics.GetUsers())
            {
                table.AddTextRow(new RowSetup {
                    ClickScript = ClickScript.CreateRedirectScript(new EditUser.Info(es.info, user.UserId))
                }, user.Email, user.Role.Name);
            }
            ph.AddControlsReturnThis(table);
        }
コード例 #15
0
ファイル: RollData.cs プロジェクト: raysloks/EDF
    public RollData(RollData other)
    {
        source = other.source;
        target = other.target;

        type = new List<string>(other.type);

        bonus = new List<KeyValuePair<List<string>, int>>();

        roll = new List<int>();

        this.other = other;
        other.other = this;
    }
コード例 #16
0
ファイル: Darkvision.cs プロジェクト: raysloks/EDF
	void OnRoll(ClickScript cs, RollData data)
	{
		for (int i=0;i<data.bonus.Count;++i)
		{
			var nume = data.bonus[i].Key.GetEnumerator();
			bool is_darkness_penalty = false;
			while (nume.MoveNext())
			{
				if (nume.Current.CompareTo("darkness") == 0)
					is_darkness_penalty = true;
			}
			if (is_darkness_penalty)
				data.bonus[i] = new KeyValuePair<List<string>, int>(data.bonus[i].Key, data.bonus[i].Value + 4);
		}
	}
コード例 #17
0
ファイル: BaseStatsStatus.cs プロジェクト: raysloks/EDF
 void OnRecalculateStats(ClickScript cs, CharacterData data)
 {
     data.name = "Murk";
     if (cs.hp.current > 0)
     {
         data.STR = STR;
         data.DEX = DEX;
         data.CON = CON;
         data.INT = INT;
         data.WIS = WIS;
         data.CHA = CHA;
     }
     else
     {
         data.name += " Corpse";
     }
 }
コード例 #18
0
 // Use this for initialization
 void Start()
 {
     //Initialize all the variables
     if (!(world == null || menu == null || userui == null || grid == null))
     {
         return;
     }
     if (GetComponent <MenuScript>() == null)
     {
         menu = gameObject.AddComponent <MenuScript>();
     }
     if (GetComponent <UserUI>() == null)
     {
         userui = gameObject.AddComponent <UserUI>();
     }
     if (GetComponent <ResourceUI>() == null)
     {
         resourceui = gameObject.AddComponent <ResourceUI>();
     }
     if (GetComponent <Builder>() == null)
     {
         builder = gameObject.AddComponent <Builder>();
     }
     if (GetComponent <ClickScript>() == null)
     {
         click = gameObject.AddComponent <ClickScript>();
     }
     if (grid == null)
     {
         grid = FindObjectOfType <CameraScript>() != null?FindObjectOfType <CameraScript>().overlay : null;
     }
     if (world == null)
     {
         world = FindObjectOfType <World>();
     }
     if (camera == null)
     {
         camera = Camera.main;
     }
             #if UNITY_ANDROID
     if (camerascript == null)
     {
         camerascript = FindObjectOfType <CameraScript>();
     }
             #endif
 }
コード例 #19
0
ファイル: EldritchHeritageTrait.cs プロジェクト: raysloks/EDF
	void OnRoll(ClickScript cs, RollData data)
	{
		bool use = false;
		bool iseldritch = false;
		var nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("use")==0)
				use = true;
		}
		nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("eldritch")==0)
				iseldritch = true;
		}
		if (use && iseldritch) 
			data.bonus.Add (new KeyValuePair<List<string>, int> (new List<string> (), 4));
	}
コード例 #20
0
ファイル: Devout.cs プロジェクト: raysloks/EDF
	void OnRoll(ClickScript cs, RollData data)
	{
		bool ispray = false;
		bool isholy = false;
		var nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("pray")==0)
				ispray = true;
		}
		nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("holy")==0)
				isholy = true;
		}
		if (ispray && isholy) 
			data.bonus.Add (new KeyValuePair<List<string>, int> (new List<string> (), 2));
	}
コード例 #21
0
ファイル: UnitInfoDisplayScript.cs プロジェクト: raysloks/EDF
	void Update()
    {
        if (tm.current_turnholder != null)
            if (tm.current_turnholder.player)
                last_turnholder = tm.current_turnholder;
        if (cs != null)
        {
            nameText.text = cs.stats.name;

            if (cs.team == last_turnholder.team)
            {
                healthFillImage.color = new Color(0.0f, 1.0f, 0.0f, 1.0f);
                healthFill.anchorMax = new Vector2(Mathf.Max(0.0f, ((float)cs.hp.current) / ((float)cs.hp.max)), 1.0f);

                healthText.text = cs.hp.current + " / " + cs.hp.max;

                statTexts[0].text = "STR: " + cs.stats.STR;
                statTexts[1].text = "DEX: " + cs.stats.DEX;
                statTexts[2].text = "CON: " + cs.stats.CON;
                statTexts[3].text = "INT: " + cs.stats.INT;
                statTexts[4].text = "WIS: " + cs.stats.WIS;
                statTexts[5].text = "CHA: " + cs.stats.CHA;
            }
            else
            {
                healthFillImage.color = new Color(1.0f, 0.0f, 0.0f, 1.0f);
                healthFill.anchorMax = new Vector2(cs.hp.current > 0 ? 1.0f : 0.0f, 1.0f);

                healthText.text = (cs.hp.current - cs.hp.max).ToString();

                statTexts[0].text = "STR: ?";
                statTexts[1].text = "DEX: ?";
                statTexts[2].text = "CON: ?";
                statTexts[3].text = "INT: ?";
                statTexts[4].text = "WIS: ?";
                statTexts[5].text = "CHA: ?";
            }
        }
        else
        {
            gameObject.SetActive(false);
        }
	}
コード例 #22
0
        public List <ActionButtonSetup> CreateNavButtonSetups()
        {
            var navButtonSetups = new List <ActionButtonSetup>();

            navButtonSetups.Add(new ActionButtonSetup("Calendar", new EwfLink(new CalendarDemo.Info(info))));
            navButtonSetups.Add(new ActionButtonSetup("Go to Microsoft", new EwfLink(new ExternalResourceInfo("http://www.microsoft.com"))));
            navButtonSetups.Add(new ActionButtonSetup("Custom script", new CustomButton(() => "alert('test')")));
            navButtonSetups.Add(
                new ActionButtonSetup(
                    "Menu",
                    new ToolTipButton(
                        EwfTable.CreateWithItems(
                            items:
                            new Func <EwfTableItem>[]
            {
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://www.apple.com"))),
                    "Apple"),
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://www.microsoft.com"))),
                    "Microsoft"),
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://www.google.com"))),
                    "Google"),
                () => new EwfTableItem(new EwfTableItemSetup(clickScript: ClickScript.CreateCustomScript("alert('test!')")), "Custom script"),
                () =>
                new EwfTableItem(new LaunchWindowLink(new ModalWindow(new Paragraph("Test!")))
                {
                    ActionControlStyle = new TextActionControlStyle("Modal")
                })
            }))));

            navButtonSetups.Add(
                new ActionButtonSetup(
                    "Modal Window",
                    new LaunchWindowLink(new ModalWindow(new EwfImage("http://i3.microsoft.com/en/shared/templates/components/cspMscomHeader/m_head_blend.png")))));
            return(navButtonSetups);
        }
コード例 #23
0
        protected override void loadData()
        {
            var items =
                Enumerable.Range(0, 20)
                .Select(
                    i =>
                    new EwfTableItem(
                        new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(ActionControls.GetInfo())),
                        i.ToString(),
                        (i * 2) + Environment.NewLine + "extra stuff"))
                .ToList();

            place.Controls.Add(
                new ColumnPrimaryTable(
                    caption: "My table",
                    subCaption: "A new table implementation",
                    fields:
                    new[]
                    { new EwfTableField(size: Unit.Percentage(1), toolTip: "First column!"), new EwfTableField(size: Unit.Percentage(2), toolTip: "Second column!") },
                    items: items));
        }
コード例 #24
0
        protected override void loadData()
        {
            var dataRows = Enumerable.Range(0, 550);

            var table = EwfTable.Create(
                defaultItemLimit: DataRowLimit.Fifty,
                caption: "Caption",
                subCaption: "Sub caption",
                fields:
                new[]
                { new EwfTableField(size: Unit.Percentage(1), toolTip: "First column!"), new EwfTableField(size: Unit.Percentage(2), toolTip: "Second column!") },
                headItems: new EwfTableItem("First Column", "Second Column").ToSingleElementArray());

            table.AddData(
                dataRows,
                i =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(ActionControls.GetInfo())),
                    i.ToString(),
                    (i * 2) + Environment.NewLine + "extra stuff"));
            place.Controls.Add(table);
        }
コード例 #25
0
ファイル: EldritchScholarTrait.cs プロジェクト: raysloks/EDF
	void OnRoll(ClickScript cs, RollData data)
	{
		bool use = false;
		bool identify = false;
		bool iseldritch = false;
		var nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("use")==0)
				use = true;
		}
		nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("eldritch")==0)
				iseldritch = true;
		}
		nume = data.type.GetEnumerator ();
		while (nume.MoveNext()) 
		{
			if (nume.Current.CompareTo("identify")==0)
				identify = true;
		}
		if (use && iseldritch || identify)
		{
            if (data.roll.Count > 0)
            {
                int smallest_id = 0;
                for (int i = 1; i < data.roll.Count; ++i)
                {
                    if (data.roll[i] < data.roll[smallest_id])
                        smallest_id = i;
                }
                data.roll[smallest_id] = Math.Max(data.roll[smallest_id], RandomManager.d6());
            }
		}
	}
コード例 #26
0
        public List <ActionButtonSetup> CreateNavButtonSetups()
        {
            var navButtonSetups = new List <ActionButtonSetup>();

            navButtonSetups.Add(new ActionButtonSetup("Go to Microsoft", new EwfLink(new ExternalResourceInfo("http://www.microsoft.com"))));
            navButtonSetups.Add(new ActionButtonSetup("Custom script", new CustomButton(() => "alert('test')")));
            navButtonSetups.Add(
                new ActionButtonSetup(
                    "Menu",
                    new ToolTipButton(
                        EwfTable.CreateWithItems(
                            items:
                            new Func <EwfTableItem>[]
            {
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://www.apple.com"))),
                    "Apple"),
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://www.microsoft.com"))),
                    "Microsoft"),
                () =>
                new EwfTableItem(
                    new EwfTableItemSetup(clickScript: ClickScript.CreateRedirectScript(new ExternalResourceInfo("http://www.google.com"))),
                    "Google"),
                () => new EwfTableItem(new EwfTableItemSetup(clickScript: ClickScript.CreateCustomScript("alert('test!')")), "Custom script"),
                () => new EwfTableItem(new LaunchWindowLink(one)
                {
                    ActionControlStyle = new TextActionControlStyle("Modal")
                })
            }))));

            navButtonSetups.Add(new ActionButtonSetup("Modal Window", new LaunchWindowLink(two)));
            return(navButtonSetups);
        }
コード例 #27
0
ファイル: MoveAction.cs プロジェクト: raysloks/EDF
 public override ActionData GetData(Vector3 position, ClickScript cs)
 {
     throw new NotImplementedException();
 }
コード例 #28
0
ファイル: MoveAction.cs プロジェクト: raysloks/EDF
 public override void Activate(Vector3 position, ClickScript cs)
 {
     throw new NotImplementedException();
 }
コード例 #29
0
 // Use this for initialization
 void Start()
 {
     collider    = GetComponent <Collider2D>();
     clickMaster = GameObject.FindGameObjectWithTag(clickMasterTag).GetComponent <ClickScript>();
 }
コード例 #30
0
ファイル: PerseveranceTrait.cs プロジェクト: raysloks/EDF
 public override void Attach(ClickScript cs)
 {
     cs.onHealthChanged[-100.0f] += OnHealthChanged;
 }
コード例 #31
0
ファイル: TurnManagerScript.cs プロジェクト: raysloks/EDF
	// Update is called once per frame
	void Update () {
        if (current_turnholder == null)
        {
            var teams = GetTeamCount();
            if (!teams.ContainsKey(0))
                gm.defeat.SetActive(true);
            if (!teams.ContainsKey(1))
                gm.victory.SetActive(true);

            var nume = order.GetEnumerator();
            while (nume.MoveNext())
            {
                var nume2 = nume.Current.Value.GetEnumerator();
                while (nume2.MoveNext())
                {
                    if (nume2.Current.Hold())
                    {
                        on_hold.Add(nume2.Current);
                    }
                    else
                    {
                        current_turnholder = nume2.Current;
                        float time_to_advance = nume.Current.Key;
                        while (nume2.MoveNext())
                        {
                            if (!new_order.ContainsKey(0.0f))
                                new_order.Add(0.0f, new List<ClickScript>());
                            new_order[0.0f].Add(nume2.Current);
                        }
                        while (nume.MoveNext())
                            new_order.Add(nume.Current.Key - time_to_advance, nume.Current.Value);
                        current_turnholder.my_turn = true;
                        current_turnholder.advance = 0.0f;
                    }
                }
            }
        }
        if (current_turnholder != null)
        {
            cam.target = current_turnholder;
            while (current_turnholder.advance>0.0f)
            {
                TurnData data = new TurnData();
                data.time = current_turnholder.advance;
                data.type = TurnType.battle;
                current_turnholder.OnTurnEnd(data);
                if (current_turnholder.advance>0.0f)
                {
                    current_turnholder.my_turn = false;
                    if (!new_order.ContainsKey(current_turnholder.advance))
                        new_order.Add(current_turnholder.advance, new List<ClickScript>());
                    new_order[current_turnholder.advance].Add(current_turnholder);
                    order = new_order;
                    new_order = new Dictionary<float, List<ClickScript>>();
                    current_turnholder = null;
                    break;
                }
            }
        }
	}
コード例 #32
0
ファイル: TurnManagerScript.cs プロジェクト: raysloks/EDF
    public void Erase(ClickScript cs)
    {
        if (current_turnholder == cs)
            current_turnholder = null;

        var nume = order.GetEnumerator();
        while (nume.MoveNext())
            nume.Current.Value.Remove(cs);

        var nume2 = new_order.GetEnumerator();
        while (nume2.MoveNext())
            nume2.Current.Value.Remove(cs);

        on_hold.Remove(cs);

        Destroy(cs.gameObject);
    }
コード例 #33
0
ファイル: CharacterAction.cs プロジェクト: raysloks/EDF
 public abstract void Activate(Vector3 position, ClickScript cs);
コード例 #34
0
ファイル: CurseofAgonyTrait.cs プロジェクト: raysloks/EDF
	void OnHealthChanged(ClickScript cs, int difference)
	{
		if (difference < 0)
			bonus -= 4;
	}
コード例 #35
0
ファイル: Status.cs プロジェクト: raysloks/EDF
 public virtual void Detach(ClickScript cs) { }
コード例 #36
0
ファイル: FeelNoPainTrait.cs プロジェクト: raysloks/EDF
	public override void Attach(ClickScript cs)
	{

	}
コード例 #37
0
ファイル: CurseofAgonyTrait.cs プロジェクト: raysloks/EDF
	void OnRoll(ClickScript cs, RollData data)
	{
		data.bonus.Add (new KeyValuePair<List<string>, int> (new List<string> (), bonus));
	}
コード例 #38
0
ファイル: CurseofAgonyTrait.cs プロジェクト: raysloks/EDF
	public override void Attach(ClickScript cs)
	{
		cs.onTurnEnd[0.0f] += OnTurnEnd;
		cs.onRoll[100.0f] += OnRoll;
		cs.onHealthChanged [0.0f] += OnHealthChanged;
	}
コード例 #39
0
ファイル: PerseveranceTrait.cs プロジェクト: raysloks/EDF
 void OnHealthChanged(ClickScript cs, int difference)
 {
     if (difference < 0)
         cs.hp.Damage(-1);
 }
コード例 #40
0
 private void Start()
 {
     clickScript     = GameObject.FindObjectOfType <ClickScript>();
     resourcemanager = GameObject.FindObjectOfType <ResourceManager>();
 }
コード例 #41
0
ファイル: CharacterAction.cs プロジェクト: raysloks/EDF
 public abstract ActionData GetData(Vector3 position, ClickScript cs);
コード例 #42
0
        protected override void loadData()
        {
            //Nothing Special
            for (var i = 0; i < 20; i += 3)
            {
                table.AddTextRow(i.ToString(), (i + 1).ToString(), (+2).ToString());
            }
            table.AllowExportToExcel  = true;
            table.DefaultDataRowLimit = DataRowLimit.Fifty;

            //Selected Rows Action
            table2.SetUpColumns(new EwfTableColumn("1"), new EwfTableColumn("2"), new EwfTableColumn("3"), new EwfTableColumn("4"));
            table2.AddTextRow(new RowSetup {
                ToolTip = "Row tool tip", UniqueIdentifier = 1
            }, "One", "Two", "Three", "Four");
            table2.AllowExportToExcel = true;
            for (var i = 0; i < 20; i += 3)
            {
                table2.AddRow(
                    new RowSetup {
                    UniqueIdentifier = 2
                },
                    "One",
                    "Two",
                    "Three with Tip".ToCell(new TableCellSetup(toolTip: "Cell tool tip")),
                    "Four with TipControl".ToCell(new TableCellSetup(toolTipControl: new DatePicker(null))));
            }
            table2.AddSelectedRowsAction("Selected Rows Action", delegate(object id) { AddStatusMessage(StatusMessageType.Info, id.ToString()); });

            //Clickable Rows
            for (var i = 0; i < 7; i++)
            {
                ClickScript clickScript;
                string[]    cells;
                if (i % 3 == 0)
                {
                    clickScript =
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "table3" + i, firstModificationMethod: () => AddStatusMessage(StatusMessageType.Warning, "Postback!")));
                    cells = new[] { "Post", "Back", "Row" };
                }
                else if (i % 2 == 0)
                {
                    clickScript = ClickScript.CreateRedirectScript(ActionControls.GetInfo());
                    cells       = new[] { "Re", "-Direct", "Script" };
                }
                else
                {
                    clickScript = ClickScript.CreateCustomScript("alert('custom script')");
                    cells       = new[] { "Custom", "alert", "Script" };
                }
                table3.AddTextRow(new RowSetup {
                    ClickScript = clickScript, UniqueIdentifier = 3, ToolTip = "Row Tool Tip"
                }, cells[0], cells[1], cells[2]);
            }

            //Mixed
            table4.AddSelectedRowsAction("Selected Rows Action", delegate(object id) { AddStatusMessage(StatusMessageType.Info, id.ToString()); });
            for (var i = 0; i < 10; i += 3)
            {
                table4.AddTextRow(new RowSetup {
                    UniqueIdentifier = 2
                }, i.ToString(), (i + 1).ToString(), (+2).ToString());
            }

            for (var i = 0; i < 4; i++)
            {
                ClickScript clickScript;
                string[]    cells;
                if (i % 3 == 0)
                {
                    clickScript =
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "table4" + i, firstModificationMethod: () => AddStatusMessage(StatusMessageType.Warning, "Postback!")));
                    cells = new[] { "Post", "Back", "Row" };
                }
                else if (i % 2 == 0)
                {
                    clickScript = ClickScript.CreateRedirectScript(ActionControls.GetInfo());
                    cells       = new[] { "Re", "-Direct", "Script" };
                }
                else
                {
                    clickScript = ClickScript.CreateCustomScript("alert('custom script')");
                    cells       = new[] { "Custom", "alert", "Script" };
                }

                table4.AddTextRow(
                    new RowSetup
                {
                    ClickScript      = clickScript,
                    UniqueIdentifier = 3,
                    ToolTipControl   =
                        new PlaceHolder().AddControlsReturnThis(
                            new EwfImage(new ImageSetup(null), new ExternalResourceInfo("http://redstapler.biz/images/logo_blkgradient.png")).ToCollection().GetControls())
                },
                    cells[0],
                    cells[1],
                    cells[2]);
            }

            //Reorderable
            for (var i = 0; i < 20; i += 3)
            {
                table5.AddTextRow(new RowSetup {
                    UniqueIdentifier = i, RankId = i
                }, i.ToString(), (i + 1).ToString(), (+2).ToString());
            }

            //Mixed - Single Cell
            table6.AddSelectedRowsAction("Selected Rows Action", delegate(object id) { AddStatusMessage(StatusMessageType.Info, id.ToString()); });
            for (var i = 0; i < 10; i += 3)
            {
                table6.AddTextRow(new RowSetup {
                    UniqueIdentifier = 2
                }, i.ToString());
            }

            for (var i = 0; i < 10; i += 3)
            {
                table6.AddTextRow(
                    new RowSetup
                {
                    ClickScript =
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "table6" + i, firstModificationMethod: () => AddStatusMessage(StatusMessageType.Warning, "Postback!"))),
                    UniqueIdentifier = 3
                },
                    "Post");
            }

            //Recorderable, Clickable
            for (var i = 0; i < 7; i++)
            {
                ClickScript clickScript;
                string[]    cells;
                if (i % 3 == 0)
                {
                    clickScript =
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "table7" + i, firstModificationMethod: () => AddStatusMessage(StatusMessageType.Warning, "Postback!")));
                    cells = new[] { "Post", "Back", "Row" };
                }
                else if (i % 2 == 0)
                {
                    clickScript = ClickScript.CreateRedirectScript(ActionControls.GetInfo());
                    cells       = new[] { "Re", "-Direct", "Script" };
                }
                else
                {
                    clickScript = ClickScript.CreateCustomScript("alert('custom script')");
                    cells       = new[] { "Custom", "alert", "Script" };
                }
                table7.AddTextRow(new RowSetup {
                    UniqueIdentifier = i, RankId = i, ClickScript = clickScript
                }, cells);
            }

            //Recorderable, Clickable, Selectable
            table8.AddSelectedRowsAction("Selected Rows Action", delegate(object id) { AddStatusMessage(StatusMessageType.Info, id.ToString()); });
            for (var i = 0; i < 7; i++)
            {
                ClickScript clickScript;
                string[]    cells;
                if (i % 3 == 0)
                {
                    clickScript =
                        ClickScript.CreatePostBackScript(
                            PostBack.CreateFull(id: "table8" + i, firstModificationMethod: () => AddStatusMessage(StatusMessageType.Warning, "Postback!")));
                    cells = new[] { "Post", "Back", "Row" };
                }
                else if (i % 2 == 0)
                {
                    clickScript = ClickScript.CreateRedirectScript(ActionControls.GetInfo());
                    cells       = new[] { "Re", "-Direct", "Script" };
                }
                else
                {
                    clickScript = ClickScript.CreateCustomScript("alert('custom script')");
                    cells       = new[] { "Custom", "alert", "Script" };
                }
                table8.AddTextRow(new RowSetup {
                    UniqueIdentifier = i, RankId = i, ClickScript = clickScript
                }, cells);
            }

            // Rowspan test
            table9.AddTextRow("one", "two", "three");
            table9.AddRow("four rowspan".ToCell(new TableCellSetup(itemSpan: 2)), "five", "six rowspan".ToCell(new TableCellSetup(itemSpan: 2)));
            table9.AddTextRow("this is allowed because of the previous rowspans");
            table9.AddTextRow("seven", "eight", "nine");
            table9.AddRow("ten columnspan".ToCell(new TableCellSetup(fieldSpan: 2)), "eleven");
            table9.AddRow("twelve whole row".ToCell(new TableCellSetup(fieldSpan: 3)));
            table9.AddRow("thirteen whole row, three row column span".ToCell(new TableCellSetup(fieldSpan: 2, itemSpan: 3)), "1/3 thirteen");
            table9.AddTextRow("fourteen");
            table9.AddTextRow("fifteen");
            table9.AddTextRow("sixteen", "seventeen", "eighteen");
            table9.AddRow("Nineteen", "Twenty -two rows two columns".ToCell(new TableCellSetup(fieldSpan: 2, itemSpan: 2)));
            table9.AddTextRow("21");
            table9.AddTextRow("Twenty-two", "Twenty-three", "Twenty-four");
            table9.AddRow("Twenty-five", "Twenty-six -Three rowspan".ToCell(new TableCellSetup(itemSpan: 3)), "Twenty-seven");
            table9.AddTextRow("Twenty-eight", "Twenty-nine");
            table9.AddTextRow("Thirty", "Thirty-one");

            // Wrong number of cells
            //table9.AddTextRow( "","" );
        }
コード例 #43
0
ファイル: HitData.cs プロジェクト: raysloks/EDF
 public HitData(ClickScript source, ClickScript target)
 {
     this.source = source;
     this.target = target;
     damage = new List<KeyValuePair<List<string>, int>>();
 }
コード例 #44
0
ファイル: BaseStatsStatus.cs プロジェクト: raysloks/EDF
 public override void Detach(ClickScript cs)
 {
     cs.onRecalculateStats[-100.0f] -= OnRecalculateStats;
 }
コード例 #45
0
ファイル: HighlightScript.cs プロジェクト: raysloks/EDF
	// Update is called once per frame
	void Update () {
        Vector3 prev_pos = transform.position;
        
        if (tm.current_turnholder != null)
            if (tm.current_turnholder.player)
                last_turnholder = tm.current_turnholder;

        uid.cs = null;
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        var rh = Physics.RaycastAll(ray);
        rend.enabled = false;
        if (!UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject())
        {
            rend.material.color = new Color(1.0f, 1.0f, 1.0f);
            int rh_final = -1;
            for (int i = 0; i < rh.Length; ++i)
            {
                ClickScript other = rh[i].transform.GetComponentInParent<ClickScript>();
                if (other != null)
                {
                    rh_final = i;
                }
                else
                {
                    if (rh_final < 0)
                        rh_final = i;
                }
            }
            if (rh_final >= 0)
            {
                ClickScript other = rh[rh_final].transform.GetComponentInParent<ClickScript>();
                uid.cs = other;
                if (other != null)
                    uid.gameObject.SetActive(true);
                if (other != null)
                {
                    rend.material.color = new Color(1.0f, 0.0f, 0.0f);
                    if (last_turnholder != null)
					    if (other.team == last_turnholder.team)
						    rend.material.color = new Color(0.0f, 1.0f, 0.0f);
                    transform.position = other.transform.position;
                    transform.localScale = rh[rh_final].transform.localScale;
                }
                else
                {
                    Vector2 target = rh[rh_final].point;
                    target.x = Mathf.Round(target.x - 0.5f) + 0.5f;
                    target.y = Mathf.Round(target.y - 0.5f) + 0.5f;

                    transform.position = target;
                }
                rend.enabled = true;
            }
        }

        bool ce = !rend.enabled || tm.current_turnholder == null;
        if (tm.current_turnholder != null)
            ce |= !tm.current_turnholder.my_turn;
        if (pm != null && tm != null)
        {
            if (ce)
                pm.Clear();
            else
            {
                if (prev_pos != transform.position || rend.enabled && !pe)
                {
                    TargetData td = new TargetData();
                    td.start = new Vector2(tm.current_turnholder.transform.position.x, tm.current_turnholder.transform.position.y);
                    td.end = new Vector2(transform.position.x, transform.position.y);
                    td.searcher = tm.current_turnholder;
                    td.use_end = true;

                    tm.terrain.GetPath(td);

                    if (td.paths.Count > 0)
                        pm.Construct(td.paths[0], transform.position);
                    else
                        pm.Clear();
                }
            }
        }

        pe = ce;
    }
コード例 #46
0
ファイル: Darkvision.cs プロジェクト: raysloks/EDF
	public override void Detach(ClickScript cs)
	{
		cs.onRoll[100.0f] -= OnRoll;
	}
コード例 #47
0
ファイル: CurseofAgonyTrait.cs プロジェクト: raysloks/EDF
	void OnTurnEnd(ClickScript cs, TurnData data)
	{
		if (data.type == TurnType.battle)
			bonus = 0;
	}
コード例 #48
0
ファイル: Darkvision.cs プロジェクト: raysloks/EDF
	public override void Attach(ClickScript cs)
	{
		cs.onRoll[100.0f] += OnRoll;
	}
コード例 #49
0
ファイル: AltEnduranceTrait.cs プロジェクト: raysloks/EDF
 public override void Detach(ClickScript cs)
 {
     cs.onRoll[100.0f] -= OnRoll;
     cs.onTurnEnd[0.0f] -= OnTurnEnd;
 }