static void SetStyle(this EdgeObjectState state, UIView view) { switch (state.Property) { case EdgePropertyType.Opacity: view.Alpha = float.Parse(state.Value); return; ; case EdgePropertyType.Left: { var frame = view.Frame; frame.X = StageParser.ParseFloat(state.Value); view.Frame = frame; } return; case EdgePropertyType.Top: { var frame = view.Frame; frame.Y = StageParser.ParseFloat(state.Value); view.Frame = frame; } return; case EdgePropertyType.Width: { var frame = view.Frame; frame.Width = StageParser.ParseFloat(state.Value); view.Frame = frame; } return; case EdgePropertyType.Height: { var frame = view.Frame; frame.Height = StageParser.ParseFloat(state.Value); view.Frame = frame; } return; case EdgePropertyType.Display: view.Hidden = state.Value == "none"; return; } }
public static Task <Stage> Load(string scriptName) { return(Task.Factory.StartNew(() => { var script = File.ReadAllText(scriptName); if (script.Contains("( function($, Edge, compId){")) { script = script.Replace("( function($, Edge, compId){", ""); } var endIndex = script.IndexOf("Edge.registerC"); if (endIndex > 0) { script = script.Substring(0, endIndex); } script += Environment.NewLine + "var js = JSON.stringify(symbols);"; var context = new JSContext(); var test = context.EvaluateScript(script); var result = context[(NSString)"js"].ToString(); result = result.Replace("\"${_", "\"").Replace("}\"", "\""); var stage = StageParser.Parse(result); return stage; })); }