全球FlexSim系统仿真中文论坛

搜索
查看: 1934|回复: 0
打印 上一主题 下一主题

如何获取Activity的统计信息?

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2022-11-29 15:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zorsite 于 2022-11-29 15:42 编辑 + T- b( G" ^/ B6 R! a

3 A3 P4 y1 j! W1 B9 w+ p1 r4 `' ?如何获取Activity的统计信息?0 [+ {* |' `0 a. W
3D实体的属性面板中可以查看统计信息。4 }; S& M2 ]" [+ M  I6 b3 m

! s. T$ R: n0 B7 F. d同时可以通过Object.stats属性来获取相关信息。
4 T0 \6 R( C$ s, R- Z% i
& E! _3 Y2 l1 }8 g& g" HActivity也有属性面板9 u5 u) O8 Z7 W- L! V: h
6 a( t6 g" V, P3 q
但是Activity却没有stats属性,无法通过属性获取统计信息。7 I4 U# N: y3 R5 `( m) G
# i# R+ v/ H$ r
原因在于当我们使用current关键字的时候,current被声明为Object对象,而activity被声明为treenode对象。" A" R; e6 D3 X5 H0 b6 |8 W
treenode作为Object的父类,其属性和方法不如其子类Object那样丰富。
; D, H4 D5 _4 l+ v% W
) G+ I5 U  D5 t: A; t$ b作为treenode的子类,Object对象除了有treenode的属性外,还具有以下属性:
- [* j& U6 Z8 V2 P& z8 N- K9 D8 j- y
; a: j; _1 S7 H& j8 @- T  K0 D! ^# F其中就有stats属性,可以获取统计信息。
7 d: }. U+ n- c* g- F+ X  S  u  Z. Q( Z3 C
那如何使用代码获取Activity的统计信息呢?6 B7 G4 b; o6 H
第1种方法,使用getstat命令。
7 |6 M& K( q1 ggetstat (node object, str name, int flag [, var p1, var p2, var p3])
3 r, _1 R! e/ }Returns the statistic value for the given objectDescription* ?, a* s: \, m$ i2 K+ b
It is preferred to use Object.stats instead. Gets the specified statistic from the given object.
% \( o! t; ]. q/ c  w& K3 z+ yExample:3 {8 p% t5 Z' [$ d+ ~# j1 a& s! s  B
  1. getstat(activity, "Content", STAT_CURRENT)
复制代码
  1. getstat(activity, "Input", STAT_CURRENT)
复制代码
  1. getstat(activity, "Staytime", STAT_AVERAGE)
复制代码
  1. double avgContent = getstat(
    & j) y" x! D" L9 g( L/ L( t
  2. // getstat requires between 4 and 6 parameters:
    # A( G: z/ s4 z. r: S
  3. activity, // 1. the object (shared asset or activity) that has the statistic
    ' d7 r, m+ o9 b' `; K3 \6 m
  4. "Content", // 2. the name of the statistic7 s5 F# Y, |1 k8 q1 C* V5 q/ B
  5. STAT_AVERAGE, // 3. the desired value from the statistic (could also be STAT_CURRENT, STAT_MIN, or STAT_MAX)) @3 T* l' E* O# _, K
  6. // 4. an optional parameter the instance object (usually current)
    . }7 a; x/ S9 N1 K* ~4 x  W4 `8 [
  7. // 5. an additional parameter to help resolve which data to get
    7 b- b( m4 Z0 l8 @. G& }' M; D
  8. // 6. an additional parameter to help resolve which data to get7 `$ y7 {. u4 P& m: L' n+ M( Z
  9. );
复制代码
, p( s; |/ \! e( i8 n
第2种方法,转换activity的类型。: b5 k" p9 ^! K' W' H; u
既然Object对象有stats属性,那把activity从treenode类型转换为Object类型不就可以了?
% p. x7 g9 f, t  ~  e( X转换的方式有2种:
! L+ U7 k  I* Q, {. {' n方法1,使用as关键字:
% u5 }0 A) J, a. p. \2 @- w
  1. activity.as(Object).stats.input.value;% q: w8 a5 ]7 Y* n0 [8 E! \- e
复制代码
, H7 E4 }: |. G2 ~' @( t  i. B+ [
方法2,将activity声明为Object类型的变量:' R5 i" l/ ^% d( _# ~
  1. Object Obj_activity=activity;# c- J9 ^/ ?, R6 ^+ C0 \4 r0 U
  2. return Obj_activity.stats.input.value;
复制代码
: V  Q( ]& i8 X" h3 W1 |0 Q

. y% I' _( x7 _. A* p4 Z# H
$ U7 a- Y% T  l" s7 R! P+ J  R
# i; e- Y( V$ _' K: X
# [, ]6 ]! ~# M8 F% }3 j4 b' i5 E" D! A

- l8 U) t/ b. a& M0 ?7 J9 H2 K( Q% q

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-8-31 03:08 , Processed in 0.061818 second(s), 15 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表