private void EnterSituation(string sitName) { // setup variable, setup one time var, always var var prevSitName = m_CurrSitName; try { m_CurrSitName = sitName; CurrentSituation = Tree.SituationTables[sitName]; } catch (Exception exp) { FrameLogger.LogError(string.Format(exp.Message + ", SitName {0} not found", sitName)); } //// OnEnterSituation.Invoke(prevSitName, sitName); // the first time if (!VisitedSituation.Contains(sitName)) { VisitedSituation.Add(sitName); // execute one time event try { foreach (var action in CurrentSituation.OneTimeSetValueAction) { action.Operate(); } } catch (Exception ep) { FrameLogger.LogError(ep.Message + ": " + ep.StackTrace); } } try { // execute always event foreach (var action in CurrentSituation.AlwaysSetValueAction) { action.Operate(); } } catch (Exception ep) { FrameLogger.LogError(ep.Message + ": " + ep.StackTrace); } }
public override void PreRender() { foreach (var pos in Node.Bounds.AllPositionsWithin) { var dataPos = pos - Node.Bounds.Position; try { Node.ParentCanvas.SetPixel(Data[dataPos.Y][dataPos.X], pos); } catch { FrameLogger.LogError(Data[0].ToString()); FrameLogger.LogError("Error - " + dataPos.ToString()); } } }